Apache, NGINX, PHP-FPM — что лучше?

Доброго времени суток,



Прошу прощения за свое новичковое невежество, но я уже просто утонул в тоннах сравнения что же лучше, подчеркну лучше, а не быстрее!



Задача примерно следующая:



Небольшой мультиязычный сайт на Silex Framework, облачный хостинг на Amazon — micro instance, ubuntu, php, mysql.



А вот со свзязкой проблемы, что же будет оптимальным решением по отношению скорость/ресурсы:



1. nginx-front и apache-back+mod_php

2. nginx + php-fpm

3. голый nginx

4. голый apache+mod_php



или другие варианты



… понятно что требуются xcache, memcached и другие методы ускорения работы ресурса.



Но основной вопрос в том какую связку все же выбрать как наиболее производительную и менее ресурсозависимую?



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



Очень прошу поделиться личным опытом и рекомендациями, особенно с ссылками на мануалы настройки для новичков.



И умоляю не устраивать из этого вопроса потасовку — мне действительно нужно решение, а не мысли по древу или срач в коментариях.



Спасибо всем кто откликнется!
  • Вопрос задан
  • 47527 просмотров
Пригласить эксперта
Ответы на вопрос 12
zizop
@zizop
Наши тесты показали значительное ускорение при nginx +php5-fpm по сравнению с apache+mod_php. Пора уже использовать прогрессивные технологии, а не ставить по старинке Apache. Вот наш рецепт:
— собственно nginx+php5-fpm
— apc для локального кэша, memcached для сетевого
— бд Percona XtraDB, потом перешли на MariaDB+XtraDB
— ssd для оси, выключить журналирование, включить trim
— ежедневный backup на hdd, недельный через сеть.
В общем данные мероприятия существенно увеличили производительность.
Ответ написан
CKPbITHUK
@CKPbITHUK
Я бы выбрал php-fpm + nginx, так как он потребляет достаточно мало памяти и вообще не прожорлив и весьма быстр.

Но как тут уже все сказали, универсального решения нет.
Ответ написан
ajaxtelamonid
@ajaxtelamonid
Laravel
Лучше — nginx-front и apache-back+mod_php, так как это решение главной проблемы апача — расход памяти при отдаче статики, и отсутствие говной боли в конвертации правил .htaccess в правила nginx.

Быстрее — nginx + php-fpm.

Но раз надо «лучше, а не быстрее!», бери первый вариант.
Ответ написан
@Elkaz
Универсального решения нет.
Мы для своего проекта остановились на php-fcgi + nginx
Ответ написан
andoriyu
@andoriyu
nginx + apache + php-fpm. Даст плюшки nginx, php-fpm, сохранит «плюшки» .htaccess.
Ответ написан
я бы выбрал nginx + php-fpm + apc
если на одном сервере связать через сокет
Ответ написан
LittleMeN
@LittleMeN Автор вопроса
Спасибо Всем!

Буду ставить nginx и php-fpm, изучать вопрос подробнее, и быть может, поэкспериментирую с другими вариантами, но уже на базе только nginx с другим «обвесом».
Ответ написан
mobilz
@mobilz
я не видел ничего удобней mod_php. Гибче, чем apache+mod_php вы не найдёте однозначно.
С другой стороны лично я уже лет 5 не конфигурил apache, т.е. перешёл на nginx+php-fcgi. Мне хватает + для моих проектов требуется быстродействие. Точнее, отсутсвие тормозов в тривиальных задачах. Да и в общем функционала хватает и гибкости. Но mod_php явно гибче.
Ответ написан
nginx на фронте + апач на бэк
связка ни чем не хуже nginx+php5-fpm
разница в проценты которые не играют роли
Ответ написан
Vladson
@Vladson
Полностью поддерживаю господина Elkaz, решения идеального не может быть в принципе.

Я лично рекомендовал бы ставить то с чем умеет управляться админ (не умеет ставить, а вообще, даже в критической ситуации когда всё идёт не так как должно быть...) Это самый важный фактор.

И да, многие движки требуют обязательно апачевский rewrite так что иногда выбора как такового и нет. Однако если выбор всё же есть, я бы предпочёл всё же варианты с nginx.
Ответ написан
@RomanKu
Был опыт хостинга сайтов на этом типе инстанса. По памяти и скорости связка nginx+php-fpm показала себя лучше да и сейчас не вижу смысла начинать проект с апачем. БД будет тесно по оперативке и она будет периодически выдавать фризы, связанные с работой с диском.
Опять же из опыта на t2-micro прикручивание CloudFlare дает ощутимое снижение нагрузки на сервер за счет кеширования статики и, соответственно, снижения количества запросов на сервер.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы