То, что я застрял на позиции архитектуры / разработки стека 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. Я не говорю, что либо лучше, в конце концов, это вопрос личных предпочтений.