问题描述
TYPO3应该如何在基于Docker的架构上运行,例如Divio,其中:
- 多个容器并行运行
- 没有警告就被回收
- 没有共享的本地文件存储
似乎要写入typo3temp
(和其他一些文件位置)的要求已在TYPO3中硬编码。
(通过强制网站仅在一个容器中而不是在多个容器中运行,可以创建一个新的管理员用户并使用/typo3
后端。但是,可能还会出现其他问题。道路。
有没有解决的办法?在类似容器化环境中的TYPO3安装如何解决此问题?
解决方法
TYPO3实例需要您进行一些工作才能水平缩放。
我假设使用TYPO3 v9 +和默认的基于作曲家的安装。
您需要在实例之间至少共享public/typo3temp
,public/fileadmin
和./var
。那是因为它们的状态与数据库状态非常相关。参见https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/DirectoryStructure/Index.html。
其余部分是TYPO3部署的一部分,可以放入容器映像中。我敢肯定,对于实时部署,这些都不是可写的。您可能会丢失一些管理后端功能,例如通过后端配置更改,但这应该很明显。
提高网站性能
也就是说,使用TYPO3前面的反向缓存代理要比乘以PHP实例要容易得多。还有https://extensions.typo3.org/extension/staticfilecache/会为可缓存内容生成静态HTML并享有良好的声誉。