The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

WordPress перешел на использование nginx. Обновление nginx 0.5.36 и 0.6.30

04.05.2008 20:53

WordPress.com перевел свои балансировщики нагрузки на nginx - очень серьезный шаг для nginx, так как когда такие мощные пользователи начинают использовать продукт, к ним присматриваются другие проекты, что в свое время повлияло на росте популярности lighttpd. WordPress.com один из лидеров блог-хостинга, ожидается заметный рост доли nginx в следующем отчете netcraft.

В процессе принятия решения рассматривались варианты использования балансировщиков HAProxy, Perlbal и LVS, но конечный выбор остановился на nginx, в силу трех причин:

  • Простая и гибкая система конфигурации, возможность перечитывания конфигурации на лету;
  • Возможность использования в качестве полноценного web-сервера, а не только балансировщика нагрузки;
  • Только nginx в тестах на реальном трафике смог справиться с нагрузкой 8000 запросов в секунду.

Кроме того, Игорь Сысоев выпустил два новых релиза Nginx и объявил о переводе ветки 0.5.x в состояние "legacy", а 0.6.x - stable.

Исправления в nginx 0.5.36:

  • Директива sub_filter могла вставлять заменяемый текст в вывод (выявлено на ua.opennet.ru).
  • При повторном использовании в SSI пустого block'а в качестве заглушки в рабочем процессе происходил segmentation fault.
  • Директивы proxy_store и fastcgi_store не проверяли длину ответа.
  • nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )"; ошибка появилась в 0.5.35.
  • При использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; ошибка появилась в 0.5.35.
  • Директива fastcgi_catch_stderr не возвращала ошибку; теперь она возвращает ошибку 502, которую можно направить на следующий сервер с помощью "fastcgi_next_upstream invalid_header".
  • При использовании директивы fastcgi_catch_stderr в основном процессе происходил segmentation fault; ошибка появилась в 0.5.32. Спасибо Manlio Perillo.

Изменения в nginx 0.6.30:

  • Теперь, если маске, заданной в директиве include, не соответствует ни один файл, то nginx не выдаёт ошибку.
  • Теперь время в директивах можно задавать без пробела, например, "1h50m".
  • Исправление утечек памяти, если директива ssl_verify_client имела значение on. Спасибо Chavelle Vincent.
  • Исправление: директива sub_filter могла вставлять заменяемый текст в вывод.
  • Исправление: директива error_page не воспринимала параметры в перенаправляемом URI.
  • Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме.
  • Исправление: nginx не собирался под OpenBSD; ошибка появилась в 0.6.15.


  1. Главная ссылка к новости (http://barry.wordpress.com/200...)
  2. OpenNews: Nginx преодолел рубеж в миллион сайтов
Автор новости: Alexey Kovyrin
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/15708-nginx
Ключевые слова: nginx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (15) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Alrond (??), 23:26, 04/05/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Просто супер!
    осталось только дождаться выхода версии с кешированием и привалит счастье :)
     
     
  • 2.4, User294 (ok), 04:19, 05/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Просто супер!
    >осталось только дождаться выхода версии с кешированием и привалит счастье :)

    ИМХО сервер должен сервить а не кешированием заниматься.Хотя если это будет отключаемым модулем - так и хрен с ним.Но лично мне в серверах типа lighttpd или nginx нужен именно маленький и ядреный сервер который при минимуме потребления ресурсов отгрузит файла оптом,а не монстр который умеет дофига всего когда оно нафиг не надо и только грузит систему почем зря.А так - поздравления автору.В целом довольно хороший и при том ШУСТРЫЙ и НЕ РЕСУРСОЕМКИЙ сервак.

     

  • 1.2, Аноним (2), 00:08, 05/05/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Таки есть ещё Программисты в России :) Троекратное УРА!
     
  • 1.6, User294 (ok), 05:19, 05/05/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати как платформу они используют Дебиан и Убунту... ;)
    Где это написано?Найдите сами :).Кстати да, если вы найдете это тем же методом что и я - там еще довольно прикольная надпись есть :) парни из вордпресса обладают чувством юмора.

    >Our platform currently consists of the following software: Debian/Ubuntu, PHP, MySQL,
    >Litespeed, Pound, Wackamole, Spread, Nagios, Munin, Monit, NFS, Postfix, MyDNS.

    P.S. а 8000 запросов в секунду - это круто...

     
  • 1.7, Аноним (2), 09:42, 05/05/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда же он сможет читать файлы в каталогах, наподобии .htaccess?
     
     
  • 2.8, Vaso_Petrovich (?), 10:24, 05/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Когда же он сможет читать файлы в каталогах, наподобии .htaccess?

    никогда... учи мат. часть и не позорься так больше...

     

  • 1.9, AVN (??), 10:25, 05/05/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А он (nginx) сам cgi-скрипты может выполнять/запускать? А то что-то у меня не получилось. ;-(
     
     
  • 2.10, Евгений (??), 10:30, 05/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >А он (nginx) сам cgi-скрипты может выполнять/запускать? А то что-то у меня
    >не получилось. ;-(

    Сам не может, есть встроенный перл, можно нарисовать модуль с нужной функциональностью. А cgi-скрипты можно под fastcgi-менеджером выполнять.

     
  • 2.11, salvator (??), 10:52, 05/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    нет, не умеет. юзайте FastCGI или бекенды.
     
     
  • 3.12, Lucf3r (??), 11:57, 05/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Да, к сожалению NginX пока не решает 99.9% проблем человечества, как все того хотели... :)

    Нужен .htaccess - опишите его сами, либо можете использовать немного измененный модуль Apache'а 1.3, которые занимается только тем, что обрабатывает .htaccess'ы и отдает результат. Я не спорю, .htaccess штука удобная, а порой является requirement'ом софта, но с точки зрения ее функциональности (перечитывание всего дерева директорий на предмет нахождения в нем .htaccess при КАЖДОМ запросе) - довольно емкая.

     
  • 3.13, AVN (??), 15:03, 05/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько я понял из описания он запросы fast-cgi может перебрасывать на другой сервер для их обработки, а вот что он сам их обрабатывает как-то не очевидно. Насчет бэкендов, дак я и сейчас пользую апач, но он для моих задач несколько тяжеловат...
     
     
  • 4.14, Volodymyr Lisivka (?), 18:16, 05/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Насколько я понял из описания он запросы fast-cgi может перебрасывать на другой сервер

    Ви сплутали CGI (протокол) і FastCGI (програму).

    > для их обработки, а вот что он сам их обрабатывает как-то не очевидно.

    http://blog.kovyrin.net/2006/05/30/nginx-php-fastcgi-howto/lang/ru/

    > Насчет бэкендов, дак я и сейчас пользую апач, но он для моих задач несколько тяжеловат...

    Ну от і поставте NginX перед Apach-ем.

     
     
  • 5.17, klalafuda (?), 13:50, 07/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Ви сплутали CGI (протокол) і FastCGI (програму).

    лишь в силу встроенного занудства добавлю, что FastCGI - это таки ещё и протокол :)

    http://www.fastcgi.com/devkit/doc/fcgi-spec.html

    // wbr

     
  • 4.18, User294 (ok), 03:05, 09/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Логично А зачем серверу внутри себя данные по fastcgi гонять если он все что над... большой текст свёрнут, показать
     
  • 2.19, User294 (ok), 03:16, 09/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >А он (nginx) сам cgi-скрипты может выполнять/запускать? А то что-то у меня
    >не получилось. ;-(

    Если вам надо именно CGI а не FastCGI - посмотрите на lighttpd, он умеет и CGI и FastCGI.Однако...советую подумать дважды: CGI форкает процесс на каждый запрос.Это ресурсоемко.И не быстро.Сие приемлимо только если процесс небольшой, запросы не такие уж и частые и не занимают много времени.CGI который не fast имеет смысл *только* если есть готовая и жутко нужная приблуда на CGI а аналога на FastCGI нету(увы, и такое тоже бывает).Запускать штуки типа PHP через CGI можно, но мазохистично.Ибо такой сервер приложений по ресурсоемкости легко потягается с апачом постоянно форкая CGI процессы.FastCGI намного более продвинутый, легкий и быстрый вариант.По возможности используйте его.Насколько я знаю бывают готовые болванки для скриптов юзающих fastcgi и т.п..

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру