view xml/ru/index.xml @ 95:d4a3dc152ec1

Restoring original LICENSE edition.
author Igor Sysoev <igor@sysoev.ru>
date Mon, 17 Oct 2011 15:08:20 +0000
parents 3179774f938e
children 49443032011c
line wrap: on
line source

<!DOCTYPE article SYSTEM "../../dtd/article.dtd">

<article title="nginx"
         link="/ru/"
         lang="ru">


<section>

<para>
nginx [engine x]&mdash;это HTTP-сервер и обратный прокси-сервер,
а также почтовый прокси-сервер,
написанный <link url="http://sysoev.ru">Игорем Сысоевым</link>.
Уже длительное время он обслуживает
серверы многих высоконагруженных российских сайтов, таких как
<link url="http://www.yandex.ru">Яндекс</link>,
<link url="http://www.mail.ru">Mail.Ru</link>,
<link url="http://vkontakte.ru">ВКонтакте</link> и
<link url="http://www.rambler.ru">Рамблер</link>.
Согласно статистике Netcraft nginx обслуживал или проксировал
<link url="http://news.netcraft.com/archives/2011/10/06/october-2011-web-server-survey.html">7.84%
самых нагруженных сайтов в октябре 2011 года</link>.
Вот некоторые примеры успешного внедрения nginx (тексты на английском языке):
<link url="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</link>,
<link url="http://barry.wordpress.com/2008/04/28/load-balancer-update/">Wordpress.com</link>.
</para>

<para>
Исходные тексты распространяются под
<link url="../LICENSE">BSD-подобной лицензией из 2 пунктов</link>.
</para>

</section>


<section name="basic_http_features"
        title="Основная функциональность HTTP-сервера">

<para>
<list>

<item>
Обслуживание статических запросов,
<link doc="docs/http/ngx_http_index_module.xml">индексных
файлов</link>,
<link doc="docs/http/ngx_http_autoindex_module.xml">автоматическое
создание списка файлов</link>,
<link doc="docs/http/ngx_http_core_module.xml"
       id="open_file_cache">кэш дескрипторов открытых файлов</link>;
</item>

<item>
<link doc="docs/http/ngx_http_proxy_module.xml">Акселерированное
проксирование с кэшированием</link>,
<link doc="docs/http/ngx_http_upstream.xml">простое
распределение нагрузки и отказоустойчивость</link>;
</item>

<item>
Акселерированная поддержка
<link doc="docs/http/ngx_http_fastcgi_module.xml">FastCGI</link>,
uwsgi, SCGI и
<link doc="docs/http/ngx_http_memcached_module.xml">memcached</link>
серверов с кэшированием,
<link doc="docs/http/ngx_http_upstream.xml">простое
распределение нагрузки и отказоустойчивость</link>;
</item>

<item>
Модульность, фильтры, в том числе
<link doc="docs/http/ngx_http_gzip_module.xml">сжатие (gzip)</link>,
byte-ranges (докачка),
chunked ответы,
<link doc="docs/http/ngx_http_xslt_module.xml">XSLT-фильтр</link>,
<link doc="docs/http/ngx_http_ssi_module.xml">SSI-фильтр</link>,
<link doc="docs/http/ngx_http_image_filter_module.xml">преобразование
изображений</link>;
несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре
через прокси или FastCGI, выполняются параллельно;
</item>

<item>
<link doc="docs/http/ngx_http_ssl_module.xml">Поддержка SSL и
расширения TLS SNI</link>.
</item>

</list>
</para>

</section>


<section name="other_http_features"
        title="Другие возможности HTTP-сервера">

<para>
<list>

<item>
<link doc="docs/virtual_hosts.xml">Виртуальные серверы</link>,
определяемые по IP-адресу и имени;
</item>

<item>
Поддержка
<link doc="docs/http/ngx_http_core_module.xml"
       id="keepalive_timeout">keep-alive</link>
и pipelined соединений;
</item>

<item>
<link doc="docs/example.xml">Гибкость конфигурации</link>;
</item>

<item>
<link doc="docs/control.xml" id="reconfiguration">Изменение настроек</link>
и <link doc="docs/control.xml" id="upgrade">обновление
исполняемого файла</link> без перерыва в обслуживании клиентов;
</item>

<item>
<link doc="docs/http/ngx_http_log_module.xml">Настройка форматов логов</link>,
<link doc="docs/control.xml" id="logs">быстрая ротация логов</link>;
</item>

<item>
<link doc="docs/http/ngx_http_core_module.xml" id="error_page">Специальные
страницы</link> для ошибок 3xx-5xx;
</item>

<item>
rewrite-модуль:
<link doc="docs/http/ngx_http_rewrite_module.xml">изменение URI
с помощью регулярных выражений</link>;
</item>

<item>
<link doc="docs/http/ngx_http_rewrite_module.xml" id="if">Выполнение
разных функций</link> в зависимости от
<link doc="docs/http/ngx_http_geo_module.xml">адреса клиента</link>;
</item>

<item>
Ограничение доступа в зависимости от
<link doc="docs/http/ngx_http_access_module.xml">адреса клиента</link>
и <link doc="docs/http/ngx_http_auth_basic_module.xml">по паролю
(HTTP Basic аутентификация)</link>;
</item>

<item>
<link doc="docs/http/ngx_http_dav_module.xml">Методы
PUT, DELETE, MKCOL, COPY и MOVE</link>;
</item>

<item>
<link doc="docs/http/ngx_http_flv_module.xml">FLV</link>
и
<link doc="docs/http/ngx_http_mp4_module.xml">MP4</link>
стриминг;
</item>

<item>
<link doc="docs/http/ngx_http_core_module.xml"
       id="limit_rate">Ограничение скорости отдачи ответов</link>;
</item>

<item>
Ограничение числа одновременных
<link doc="docs/http/ngx_http_limit_zone_module.xml">соединений</link> и
<link doc="docs/http/ngx_http_limit_req_module.xml">запросов</link>
с одного адреса;
</item>

<item>
<link doc="docs/http/ngx_http_perl_module.xml">Встроенный Perl</link>.
</item>

</list>
</para>

</section>


<section name="mail_proxy_server_features"
        title="Функциональность почтового прокси-сервера">

<para>
<list>

<item>
Перенаправление пользователя на IMAP или POP3-бэкенд с использованием
внешнего HTTP-сервера аутентификации;
</item>

<item>
Проверка пользователя с помощью внешнего HTTP-сервера аутентификации
и перенаправление соединения на внутренний SMTP-сервер;
</item>

<item>
Методы аутентификации:

<list>

<item>
POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

<item>
IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

<item>
SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
</item>

</list>
</item>

<item>
Поддержка SSL;
</item>

<item>
Поддержка STARTTLS и STLS.
</item>

</list>
</para>

</section>


<section name="architecture_and_scalability"
        title="Архитектура и масштабируемость">

<para>
<list>

<item>
Один главный и несколько рабочих процессов, рабочие процессы работают под
непривилегированным пользователем;
</item>

<item>
<link doc="docs/events.xml">Поддержка</link>
kqueue (FreeBSD 4.1+),
epoll (Linux 2.6+), rt signals (Linux 2.2.19+),
/dev/poll <nobr>(Solaris 7 11/99+),</nobr>
event ports <nobr>(Solaris 10),</nobr>
select и poll;
</item>

<item>
Использование возможностей, предоставляемых kqueue, таких как
<!-- EVFILT_VNODE, --> EV_CLEAR, EV_DISABLE (для временного выключения события),
NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
</item>

<item>
Поддержка sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5+),
sendfile64 (Linux 2.4.21+) и sendfilev <nobr>(Solaris 8 7/01+);</nobr>
</item>

<item>
Поддержка
<link doc="docs/http/ngx_http_core_module.xml" id="aio">файлового
AIO</link> (FreeBSD 4.3+, Linux 2.6.22+);
</item>

<item>
Поддержка
<link doc="docs/http/ngx_http_core_module.xml" id="directio">DIRECTIO</link>
(FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, Mac OS X);
</item>

<item>
<link doc="docs/http/ngx_http_core_module.xml" id="listen">Поддержка</link>
accept-фильтров (FreeBSD 4.1+) и TCP_DEFER_ACCEPT (Linux 2.4+);
</item>

<item>
На <nobr>10 000</nobr> неактивных HTTP keep-alive соединений расходуется
около 2.5M памяти;
</item>

<item>
Минимум операций копирования данных.
</item>

</list>
</para>

</section>


<section name="tested_os_and_platforms"
        title="Протестированные ОС и платформы">

<para>
<list>

<item>
FreeBSD 3 &mdash; 9 / i386; FreeBSD 5 &mdash; 9 / amd64;
</item>

<item>
Linux 2.2 &mdash; 2.6 / i386; Linux 2.6 / amd64;
</item>

<item>
Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
</item>

<item>
Mac OS X / ppc, i386;
</item>

<item>
Windows XP, Windows Server 2003.
</item>

</list>
</para>

</section>

</article>