Sergey Shepelev Wrote:
-------------------------------------------------------
> >> Это
> >> очень редкая ситуация,
> чаще
> >> всего в апачевых воркерах
> >> выполняются
> >> (весьма успешно)
> приложения
> >> Perl/PHP/etc. nginx этого делать
> не
> >> умеет,
> >
> > ?????
> >
> > Ещё как умеет. Летает всё.
> nginx/fastcgi + php-fpm
> > + php + apc.
> >
>
> В данном случае PHP
> приложения запускает php-fpm.
> А nginx только
> проксирует на него запросы
> по протоколу FastCGI.
Из вашего первого письма следует, что связка PHP + nginx не работает вообще, я вас поправил, так как работает на "ура".
Сергей Шепелев:
Любая разница и тонкости различия между FastCGI+nginx и mod_php+apache фиксируются путём установки правильного окружения (переменные окружения сервера). Например, в Apache+mod_php используются SCRIPT_URI, SCRIPT_URL, PATH_INFO, PATH_TRANSLATED, а PHP_SELF ссылается не на сам php script, а на заданный request uri без аргументов. Всё это конфигурируется в nginx, путём создания точно такого же окружения, какой требуют PHP скрипты, использующие вышечисленные переменные. Наверняка, drupal как раз использует PATH_* переменные, а также PHP_SELF, и их нужно просто правильно прописывать в nginx fastcgi environment.
Что касается производительности, так мне кажется, что nginx + php-fpm + apc работает по крайней мере так же быстро как apache + php-fpm + apc, если не быстрее. Я бы вообще убрал Apache и не проксировал бы динамику на него, то есть, я так и сделал.
Андрей