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 и другие методы ускорения работы ресурса.


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


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


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

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


Спасибо всем кто откликнется!
  • Вопрос задан
  • 45115 просмотров
Пригласить эксперта
Ответы на вопрос 11
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
Ответ написан
я бы выбрал nginx + php-fpm + apc
если на одном сервере связать через сокет
Ответ написан
LittleMeN
@LittleMeN Автор вопроса
Спасибо Всем!

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

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

И да, многие движки требуют обязательно апачевский rewrite так что иногда выбора как такового и нет. Однако если выбор всё же есть, я бы предпочёл всё же варианты с nginx.
Ответ написан
Ваш ответ на вопрос

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

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