В рамках цикла снижение нагрузки на сервер несколько хостов, создающих максимальную нагрузку, перекинул полностью на nginx (ранее у меня nginx только статику обрабатывал)
Ставил на freebsd с использованием модуля spawn-fcgi
В принципе материала по теме много, например вот — поэтому вдаряться в подробности не буду (кстати именно в этой статье интересная приписочка в конце — на счёт варианта обработки динамики физически на других серверах и балансировки нагрузки nginx-ом).
Единственный подводный камень после установки — это обработка nginx-ом .htaccess — а конкретнее правила mod_rewrite для различных CMS (конкретно меня интересовали joomla и wordpress).
Собственно решение этой задачи не составило особых проблем — загуглил nginx rewriterule результат вполне меня устроивший Замена RewriteRule в nginx, для различных CMS
Основная идея — правка конфигурационного файла nginx в соответствие с правилами .htaccess
Проблему с сабдоменами на nginx была решена ранее
set $subdomain «»;
if ($host ~* ^([a-z0-9-\.]+)\.gtalex.ru$) {
set $subdomain $1;
}
далее юзать root /var/vhosts/gtalex.ru/httpdocs/$subdomain;
Кэширование в nginx я пока не использую — нагрузка не настолько велика, в будущем возможно включу.
В общем по тестам: день первый — полёт вроде нормальный.
P.S.
Давненько не заходил к Алексею Терехову на его SEO блог … порадовал новый авторский дизайн: красиво, прикольно, удобно (удачная экономия пространства за счёт табов). Молодец, я уже давно мечтаю о смене диза — всё руки не доходят.
8 комментариев на «“отказ от Apache в пользу nginx”»
Уже год как отказался от апача. Нужно было поднять несколько сайтов с небольшой посещалкой (200-1000 уников) на очень скромном впс (типа 300мгц/128мб)
И в общем-то это с успехом удалось. Потом и свой нескромный сервер перевел на nginx+php.
Сначала тоже spawn-fcgi юзал, сейчас php-fpm. В общем и целом, nginx нравится больше 🙂
Правила реврайтов простые, так что даже если не на гуглишь, можно сесть и переписать самому. Не проблема.
теперь знаю к кому обратиться в случае чего 🙂
До сих пор использую Apache. Ваш пост стал последней каплей. Вернусь сегодня домой — буду переходить на nginx!
была проблема с ошибкой «upstream sent too big header»
решение такое:
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
Полагаю, что со временем все более-менее продвинутые пользователи переходят на nginx. Кто-то из необходимости ускорения и снижения нагрузки, а кто-то из любопытства. Кстати, любопытные обычно назад к Apache не возвращаются 🙂
А где графики? Хотелось бы визуально оценить снижение нагрузки на ЦП.
А как насчет безопасности в nginx?
З.Ы. Автор… В футере блога предупреждение PHP… 🙂
На счёт баги — спасибо, поправил.
По безопасности наверное всё хорошо, раз большинство тяжелых серверов в инете на nginx-е.