Что быстрее при обслуживании страниц PHP, Apache или NGINX

15

Я довольно много читал об основных преимуществах использования NGINX над Apache для обслуживания статических файлов . Тем не менее, я никогда не видел статью, рассказывающую об Apache и NGINX для обслуживания страниц PHP.

Вопрос: что быстрее при обслуживании страниц PHP , Apache или NGINX?

Raedwald
источник

Ответы:

9

Лично я считаю, что nginx обеспечивает правильное разделение между тем, что он делает сам (получение и обработка HTTP-запросов) и тем, что он делегирует другим процессам (динамическое генерирование страниц). Хотя настройка Apache для обслуживания запросов PHP требует меньших усилий, выполнение всего в Apache представляет собой небольшую проблему безопасности и конфигурации (все файлы, к которым обращаются все сценарии, запускаемые всеми пользователями на сервере, должны быть доступны для чтения / записи пользователю Apache работает так, что означает, что PHP-скрипты одного пользователя могут просматривать данные других пользователей); запускать каждый сайт PHP как своего собственного пользователя в своем собственном контексте FastCGI - гораздо лучший вариант (за счет чуть более предварительной настройки, пока вы не наберете автоматизацию создания сайта, чтобы сделать правильные вещи).

Что касается «быстрее», то Apache с mod_php, вероятно, будет быстрее по одному запросу, если машина не ограничена в ресурсах (передача на внешний прослушиватель FCGI, а затем обратно не так быстро). Однако Apache намного толще ( особенно при работе с mod_php), поэтому вы сможете обслуживать больше трафика с помощью nginx, прежде чем переходить на более крупную коробку.

ombble
источник
5

Автор nginx говорит, что nginx нацелен на обслуживание статических файлов и обеспечение внешнего интерфейса, перенаправляя запросы, которые требуют динамических страниц, на другие серверы, такие как apache.

Еще одна хорошая идея - кэшировать динамический запрос apache с помощью nginx, если данные редко обновляются, например, в архивном сообщении в блоге.

flashnik
источник
2

В большинстве случаев nginx. Для высоконагруженных проектов nginx + php + php-fpm - отличный выбор.

Валерий Викторовский
источник