Что лучше на бэкенд: Apache или FastCGI? На фронтенде ВСЕГДА останется Nginx

Для запуска php проектов я сейчас использую связку Nginx + Apache. Сейчас собираюсь поставить LiveStreet CMS, а там в описании написано что оно работает как под апачем, так и под FastCGI. Я давно хотел избавится от Apache, поэтому решил изучить вопрос.

Немного почитав статьи увидел мнение, что FastCGI никак не влияет на быстродействие. У нас уже есть nginx, который решает проблему медленных клиентов, а что стоит за ним — без разницы.

Вопрос так ли это? Есть ли преимущества при использование FastCGI для запуска php фреймворков по сравнению с апачем?

Update
Просьба внимательнее читать вопрос. Речь не про Nginx, а про то что ставить за ним.

Update Update
В ответах упорно пишут что Nginx лучше чем Apache.
Господа, ну читайте таки вопрос. Изменил заголовок, последняя надежда увидеть ответы.
  • Вопрос задан
  • 27235 просмотров
Пригласить эксперта
Ответы на вопрос 11
@odmin4eg
на одном из своих очень нагруженном сайте на Wordpress я отказался от апача в сторону… php5-fpm
расход памяти сущесвенно снизился, «залипаний» в пиковых нагрузок не стало, освободившаяся памяь ушла mysql
Вот тут я писал для себя, чтоб не забыть
www.odmin4eg.ru/2010/pereezzhaem-na-php5fpm/
Ответ написан
Riateche
@Riateche
Избавьтесь от апача. У вас станет на одну прослойку меньше. Высвободятся ресурсы, которые кушал апач. Что именно вы там запустите на php, не имеет особого значения в данном вопросе.
Ответ написан
Nepofigist
@Nepofigist
Использую nginx+php-fpm. На сервере — 512 Мб ОЗУ, занято за 90%, из них бОльшая часть — кэш и буферы. Работает сайт на Livestreet и бложик на Wordpress. Вот статистика, плюс вот иллюстрация (характеристика сайта на LS — слева).
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Ох, какую ересь в топике понаписали.
Заметка от битрикса — шлак, потому что в их случае fcgi запускается через apache + mod_fastcgid, если речь идет о хостинге.
По сабжу же — прироста в скорости нет (до тех пор, пока вы не перепишите своё приложение соответствующим образом для работы с fcgi). Есть экономия памяти и процессорного времени. За счет чего при высоких нагрузках у вас может получиться, что страницы будут грузиться быстрее, да. Вообще же оно того не стоит — лучше научиться тюнить апач, он со сцены никогда не уйдет.
Ответ написан
xaker1
@xaker1
Apache — вебсервер, и сравнивать его с FastCGI некорректно.

FastCGI — способ запуска php. От CGI он отличается тем, что процесс php не умирает после обслуживания
клиента, а ждет нового (либо умирает не дождавшись клиента).

Если сравнить скорость обработки запроса, то получим следующее отношение: CGI > FastCGI > mod_php. Т.е. самый быстрый — mod_php, далее FastCGI, а CGI в лузерах.

Хотите избавиться от Apache — действуйте. Получите большую отказоустойчивость и производительность (nginx работает быстрее и меньше памяти есть).

p.s. Как показывает практика — любой php скрипт может работать как на mod_php, так и на FastCGI. Опровержения пока не видел.
Ответ написан
zaurio
@zaurio
Прежде чем уходить от апача, задумайтесь о том, что вы получите. Не только плюшки, но и геморой. Апач — это очень качественный менеджер процессов. Вы же не собираетесь перейти на fastcgi демона, которые работает в единичном экземпляре. А значит, нужно изучить тему «написание менеджера процессов» (свой, готовый — неважно). Главное, что нужно убедиться в стабильности его работы.

Это касается не только php, fcgi демоны можно писать на разных языках, и задача менеджерить процессы стоит у всех. Кто-то решает её форками, кто-то с единичным воркером и неблокирующими сокетами, это детали. Это широкий выбор перед разработчиком, вам развязывают руки. Но вам и не помогают обеспечивать бесперебойную работу, как делает (пытается делать) это апач.

И да, я за то, чтобы уйти от апача (были проблемы в других областях), но жить стало не легче, а «по-другому».
Ответ написан
Комментировать
pentarh
@pentarh
Тема холиварная. Апач (бекендом) на прямых руках работает не хуже php-fpm, а в некоторых вещах даже лучше.
Насчет дополнительной прослойки не согласен. Какая же из апача прослойка, если mod_php подгружается как shared object? Тогда FPM в пхп тоже прослойка.
Плюс апач обвешан разными плюшками. Которые не нужны — отключить. Которые нужны — затюнить. Ну там хтаксесы, мод_рерайты. Много скриптов идет с реврайтами в .htaccess. Много софта поддерживает плюшки .htaccess. Если вам по приколу портировать их каждый раз в nginx — дерзайте.

Я юзаю апач и php-fpm достаточно долго. Скажу что апач это аккуратный, поддающийся тюнингу бердыш, а fpm — грубоватый топор.

Ставьте fpm в специфических задачах, требующих плюшек FCGI или чтобы каждый овнер имел свой пул воркеров под своим уидом. Ну можно из расовой ненависти к апачу ))) Только фанатизм никогда до добра не доведет и крвых рук не исправит.
Ответ написан
почему бы не рассмотреть lighttpd как еще один вариант?
Ответ написан
@shagguboy
апач
1) жрет память
2) нихрена не кластеризуется

зато
1) обвешан кучей модулей
Ответ написан
Комментировать
taliban
@taliban
php программист
Если хотите избавиться от апача то чего спрашиваете? Вообще у обоих вариантов свои преимущества и недостатки, в двух словах нгинкс быстрей, а апач стабильней держит связь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы