Назад | Перейти на главную страницу

Текущее состояние обслуживания приложения PHP 5.x на веб-серверах Apache, LightTPD и Nginx?

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

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

Я выбрал стек с открытым исходным кодом из-за обилия ресурсов, которые он имеет, а также гораздо лучших предложений, чем стек MS (например, WordPress против BlogEngine.NET). Я считаю, что в этом отношении Java находится в середине этих стеков, хотя я не исключаю возможности ее использования в определенных областях, не связанных с самим веб-приложением, например в фоновых процессах.

Я уже пришел к выводу об использовании PHP (с использованием фреймворка CodeIgniter и APC), MySQL (InnoDB) и Memcached на CentOS. Я определенно обслуживаю статический контент на Nginx. Однако три упомянутых сервера не пришли к единому мнению, какой из них лучше всего подходит для динамического контента с точки зрения производительности. Кажется, что у LightTPD все еще есть проблема с утечкой, которая исключает ее, если она есть, Nginx кажется, что он все еще недостаточно зрел для этого аспекта, и, конечно, Apache пытается быть всем для всех.

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

Итак, учитывая все обстоятельства, я хотел бы услышать, что все здесь говорят по этому поводу. Спасибо!

Возьмите это с несколькими крупинками соли, но мой впечатление заключается в том, что Apache будет несколько проще настроить для обслуживания PHP, чем два других сервера. И если вы правильно настроите Apache, то есть не загружаете ненужные модули, держите под контролем количество процессов / потоков и т. Д., То я думаю, вы можете получить его по эффективности достаточно близко к nginx или lighttpd. Я думаю, что многие люди несколько преувеличивают мнение об улучшении, которое можно получить с помощью lighttpd или nginx по сравнению с Apache для динамически генерируемых страниц.

Я лично считаю, что nginx легче настроить, чем Apache. Когда я смотрю на конфиги Apache, у меня заболевает голова.

Что касается конфигураций, моя текущая предпочтительная установка - nginx + php-fpm + APC. У меня есть несколько клиентов, которые очень успешно работают с этой конфигурацией, и они обычно перешли с настроек на основе Apache. Очевидно, YMMV. знак равно

Поскольку вы упомянули CodeIgniter, вы, возможно, захотите взглянуть на Kohana, который изначально был форком CodeIgniter, однако реализовал все объектно-ориентированные разработки на улучшенной концепции объектно-ориентированного программирования php5. Я не говорю, что либо лучше, в конце концов, это вопрос личных предпочтений.