У меня есть небольшое количество сайтов Plone, работающих в виртуальных хостах сервера Apache 2.4. У меня есть сильное чувство, что производительность могла быть намного лучше.
Давайте примем довольно основную установку для сайта Plone:
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName www.example.com
CustomLog /var/log/httpd/vhost-example.log combined
ErrorLog /var/log/httpd/vhost-example.error.log
RewriteEngine on
DocumentRoot /opt/zope/instances/example/htdocs
ErrorDocument 502 /error-500.html
ErrorDocument 503 /error-500.html
RewriteEngine On
RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/http/%{HTTP_HOST}:80/example/VirtualHostRoot/$1 [L,P]
</VirtualHost>
В этой установке почти все сделано сервером Zope, слушая порт 8080
, который выполняет сайт Plone в виртуальной папке /example
(который живет в объектной базе данных).
Теперь этот сервер обеспечивает некоторые статические ресурсы, например, изображения и таблицы стилей (которые живут в файловой системе), и некоторые псевдостатические ресурсы, как компиляции сценариев или таблиц стилей с именем с меткой времени (которые не имеют расположения файловой системы).
Некоторые статические ресурсы имеют пути, которые дают подсказки, где физический ресурс расположен (например. /++resource++browsername/name-of-script.js
, где browsername
подсказка); другие взяты от так называемой кожи (т.е. от первой кожи, которая содержит их), без простого способа сказать местоположение файловой системы с имени кожи (который не был бы известен от ответа так или иначе).
Такие запросы не должны были бы быть обработаны базовым сервером Zope, с помощью одного из его потоков. Что рекомендуемые стратегии состоят в том, чтобы держаться подальше от Zope, какой Apache мог сделать себя (более эффективно, и не блокируя потоки Zope), и к содержимому кэша?
Так, полное решение могло бы включать
и, с установкой ZEO,
Какие-либо руководства по конфигурированию где-нибудь?
Основная цель Plone - предоставить многопользовательскую систему управления контентом, которая позволяет совместно редактировать веб-сайты. Цена - динамическое создание представления веб-контента и некоторая потеря скорости. Если вам нужны небольшие быстрые веб-сайты, которые вы в основном редактируете самостоятельно, вам может быть лучше с программным обеспечением-генератором, которое создает для вас статические веб-сайты. Многие из них доступны как коммерчески, так и с открытым исходным кодом. Сказав это, в принципе, вы можете комбинировать как динамически, так и статически сгенерированный контент из всех видов источников за apache, например http://httpd.apache.org/docs/2.4/urlmapping.html на любом листовом узле древовидной структуры сайта.