Может ли TYPO3 запускаться без локального хранилища файлов для каталога typo3temp?

#docker #containers #typo3 #divio

#docker #контейнеры #typo3 #divio

Вопрос:

Как TYPO3 должен запускаться на архитектуре, основанной на Docker, такой как Divio, в которой:

  • несколько контейнеров выполняются параллельно
  • повторно используются без предупреждения
  • у вас нет общего хранилища локальных файлов

Похоже, что требование записи в typo3temp (и в некоторые другие расположения файлов) жестко запрограммировано в TYPO3.

(Принудительно запустив сайт только в одном контейнере вместо нескольких контейнеров, стало возможным создать нового пользователя-администратора и использовать /typo3 серверную часть. Однако в дальнейшем могут возникнуть другие проблемы.

Приложение имеет файловое хранилище AWS S3 и базу данных MySQL.)

Есть ли какой-нибудь способ обойти это? Как установки TYPO3 в аналогичных контейнерных средах решают эту проблему?

Ответ №1:

Экземпляры TYPO3 нуждаются в некоторой доработке с вашей стороны для масштабирования по горизонтали.

Я предполагаю, что TYPO3 v9 и установка на основе composer по умолчанию.

Вам необходимо предоставить общий доступ по крайней мере 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 для содержимого, доступного к кэшу, и также имеет хорошую репутацию.