отказ от Apache в пользу nginx


nginx

В рамках цикла снижение нагрузки на сервер несколько хостов, создающих максимальную нагрузку, перекинул полностью на 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”»

  1. Уже год как отказался от апача. Нужно было поднять несколько сайтов с небольшой посещалкой (200-1000 уников) на очень скромном впс (типа 300мгц/128мб)
    И в общем-то это с успехом удалось. Потом и свой нескромный сервер перевел на nginx+php.

    Сначала тоже spawn-fcgi юзал, сейчас php-fpm. В общем и целом, nginx нравится больше 🙂
    Правила реврайтов простые, так что даже если не на гуглишь, можно сесть и переписать самому. Не проблема.

  2. До сих пор использую Apache. Ваш пост стал последней каплей. Вернусь сегодня домой — буду переходить на nginx!

  3. была проблема с ошибкой «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;

  4. Полагаю, что со временем все более-менее продвинутые пользователи переходят на nginx. Кто-то из необходимости ускорения и снижения нагрузки, а кто-то из любопытства. Кстати, любопытные обычно назад к Apache не возвращаются 🙂

  5. На счёт баги — спасибо, поправил.
    По безопасности наверное всё хорошо, раз большинство тяжелых серверов в инете на nginx-е.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *