Mercurial > hg > nginx-site
view xml/ru/index.xml @ 2251:87556723adf0
nginx.conf-2018 livestream promo.
author | Maxim Konovalov <maxim@nginx.com> |
---|---|
date | Mon, 08 Oct 2018 14:23:27 +0000 |
parents | 467aef18bf12 |
children | 0f10454093df |
line wrap: on
line source
<!-- Copyright (C) Igor Sysoev Copyright (C) Nginx, Inc. --> <!DOCTYPE article SYSTEM "../../dtd/article.dtd"> <article name="nginx" link="/ru/" lang="ru" rev="96"> <section> <para> nginx [engine x]—это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, изначально написанный <link url="http://sysoev.ru">Игорем Сысоевым</link>. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как <link url="http://www.yandex.ru">Яндекс</link>, <link url="http://mail.ru">Mail.Ru</link>, <link url="http://vk.com">ВКонтакте</link> и <link url="http://www.rambler.ru">Рамблер</link>. Согласно статистике Netcraft nginx обслуживал или проксировал <link url="https://news.netcraft.com/archives/2018/09/24/september-2018-web-server-survey.html">25.45% самых нагруженных сайтов в сентябре 2018 года</link>. Вот некоторые примеры успешного внедрения nginx (тексты на английском языке): <link url="https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/">Dropbox</link>, <link url="https://openconnect.netflix.com/en/software/">Netflix</link>, <link url="https://www.nginx.com/case-studies/nginx-wordpress-com/">Wordpress.com</link>, <link url="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</link>. </para> <para> Исходные тексты и документация распространяются под <link url="../LICENSE">BSD-подобной лицензией из 2 пунктов</link>. </para> <para> Коммерческая поддержка осуществляется компанией <link url="https://www.nginx.com">Nginx, Inc.</link> </para> </section> <section id="basic_http_features" name="Основная функциональность HTTP-сервера"> <para> <list type="bullet"> <listitem> Обслуживание статических запросов, <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>; </listitem> <listitem> <link doc="docs/http/ngx_http_proxy_module.xml">Акселерированное обратное проксирование с кэшированием</link>, <link doc="docs/http/ngx_http_upstream_module.xml">распределение нагрузки и отказоустойчивость</link>; </listitem> <listitem> Акселерированная поддержка <link doc="docs/http/ngx_http_fastcgi_module.xml">FastCGI</link>, <link doc="docs/http/ngx_http_uwsgi_module.xml">uwsgi</link>, <link doc="docs/http/ngx_http_scgi_module.xml">SCGI</link> и <link doc="docs/http/ngx_http_memcached_module.xml">memcached</link> серверов с кэшированием, <link doc="docs/http/ngx_http_upstream_module.xml">распределение нагрузки и отказоустойчивость</link>; </listitem> <listitem> Модульность, фильтры, в том числе <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/uwsgi/SCGI, выполняются параллельно; </listitem> <listitem> <link doc="docs/http/ngx_http_ssl_module.xml">Поддержка SSL и расширения TLS SNI</link>; </listitem> <listitem> Поддержка <link doc="docs/http/ngx_http_v2_module.xml">HTTP/2</link> с приоритизацией на основе весов и зависимостей. </listitem> </list> </para> </section> <section id="other_http_features" name="Другие возможности HTTP-сервера"> <para> <list type="bullet"> <listitem> <link doc="docs/http/request_processing.xml">Виртуальные серверы</link>, определяемые по IP-адресу и имени; </listitem> <listitem> Поддержка <link doc="docs/http/ngx_http_core_module.xml" id="keepalive_timeout">keep-alive</link> и pipelined соединений; </listitem> <listitem> <link doc="docs/http/ngx_http_log_module.xml" id="log_format">Настройка форматов логов</link>, <link doc="docs/http/ngx_http_log_module.xml" id="access_log">буферизованная запись в лог</link>, <link doc="docs/control.xml" id="logs">быстрая ротация логов</link>, <link doc="docs/syslog.xml">запись в syslog</link>; </listitem> <listitem> <link doc="docs/http/ngx_http_core_module.xml" id="error_page">Специальные страницы</link> для ошибок 3xx-5xx; </listitem> <listitem> rewrite-модуль: <link doc="docs/http/ngx_http_rewrite_module.xml">изменение URI с помощью регулярных выражений</link>; </listitem> <listitem> <link doc="docs/http/ngx_http_rewrite_module.xml" id="if">Выполнение разных функций</link> в зависимости от <link doc="docs/http/ngx_http_geo_module.xml">адреса клиента</link>; </listitem> <listitem> Ограничение доступа в зависимости от <link doc="docs/http/ngx_http_access_module.xml">адреса клиента</link>, <link doc="docs/http/ngx_http_auth_basic_module.xml">по паролю (HTTP Basic аутентификация)</link> и по <link doc="docs/http/ngx_http_auth_request_module.xml">результату подзапроса</link>; </listitem> <listitem> Проверка <link doc="docs/http/ngx_http_referer_module.xml">HTTP referer</link>; </listitem> <listitem> <link doc="docs/http/ngx_http_dav_module.xml">Методы PUT, DELETE, MKCOL, COPY и MOVE</link>; </listitem> <listitem> <link doc="docs/http/ngx_http_flv_module.xml">FLV</link> и <link doc="docs/http/ngx_http_mp4_module.xml">MP4</link> стриминг; </listitem> <listitem> <link doc="docs/http/ngx_http_core_module.xml" id="limit_rate">Ограничение скорости отдачи ответов</link>; </listitem> <listitem> Ограничение числа одновременных <link doc="docs/http/ngx_http_limit_conn_module.xml">соединений</link> и <link doc="docs/http/ngx_http_limit_req_module.xml">запросов</link> с одного адреса; </listitem> <listitem> <link doc="docs/http/ngx_http_geoip_module.xml">Геолокация по IP-адресу</link>; </listitem> <listitem> <link doc="docs/http/ngx_http_split_clients_module.xml">A/B-тестирование</link>; </listitem> <listitem> <link doc="docs/http/ngx_http_mirror_module.xml">Зеркалирование запросов</link>; </listitem> <listitem> Встроенный <link doc="docs/http/ngx_http_perl_module.xml">Perl</link>; </listitem> <listitem> сценарный язык <link doc="docs/njs/index.xml">njs</link>. </listitem> </list> </para> </section> <section id="mail_proxy_server_features" name="Функциональность почтового прокси-сервера"> <para> <list type="bullet"> <listitem> Перенаправление пользователя на <link doc="docs/mail/ngx_mail_imap_module.xml">IMAP</link>- или <link doc="docs/mail/ngx_mail_pop3_module.xml">POP3</link>-сервер с использованием внешнего HTTP-сервера <link doc="docs/mail/ngx_mail_auth_http_module.xml">аутентификации</link>; </listitem> <listitem> Проверка пользователя с помощью внешнего HTTP-сервера <link doc="docs/mail/ngx_mail_auth_http_module.xml">аутентификации</link> и перенаправление соединения на внутренний <link doc="docs/mail/ngx_mail_smtp_module.xml">SMTP</link>-сервер; </listitem> <listitem> Методы аутентификации: <list type="bullet"> <listitem> <link doc="docs/mail/ngx_mail_pop3_module.xml" id="pop3_auth">POP3</link>: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5; </listitem> <listitem> <link doc="docs/mail/ngx_mail_imap_module.xml" id="imap_auth">IMAP</link>: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5; </listitem> <listitem> <link doc="docs/mail/ngx_mail_smtp_module.xml" id="smtp_auth">SMTP</link>: AUTH LOGIN/PLAIN/CRAM-MD5; </listitem> </list> </listitem> <listitem> Поддержка <link doc="docs/mail/ngx_mail_ssl_module.xml">SSL</link>; </listitem> <listitem> Поддержка <link doc="docs/mail/ngx_mail_ssl_module.xml" id="starttls">STARTTLS и STLS</link>. </listitem> </list> </para> </section> <section id="generic_proxy_server_features" name="Функциональность TCP/UDP прокси-сервера"> <para> <list type="bullet"> <listitem> <link doc="docs/stream/ngx_stream_proxy_module.xml">Проксирование TCP и UDP;</link> </listitem> <listitem> Поддержка <link doc="docs/stream/ngx_stream_ssl_module.xml">SSL</link> и расширения TLS <link doc="docs/stream/ngx_stream_ssl_preread_module.xml">SNI</link> для TCP; </listitem> <listitem> <link doc="docs/stream/ngx_stream_upstream_module.xml">Распределение нагрузки и отказоустойчивость</link>; </listitem> <listitem> Ограничение доступа в зависимости от <link doc="docs/stream/ngx_stream_access_module.xml">адреса клиента</link>; </listitem> <listitem> Выполнение разных функций в зависимости от <link doc="docs/http/ngx_http_geo_module.xml">адреса клиента</link>; </listitem> <listitem> Ограничение числа одновременных <link doc="docs/stream/ngx_stream_limit_conn_module.xml">соединений</link> с одного адреса; </listitem> <listitem> <link doc="docs/stream/ngx_stream_log_module.xml" id="log_format">Настройка форматов логов</link>, <link doc="docs/stream/ngx_stream_log_module.xml" id="access_log">буферизованная запись в лог</link>, <link doc="docs/control.xml" id="logs">быстрая ротация логов</link>, <link doc="docs/syslog.xml">запись в syslog</link>; </listitem> <listitem> <link doc="docs/stream/ngx_stream_geoip_module.xml">Геолокация по IP-адресу</link>; </listitem> <listitem> <link doc="docs/stream/ngx_stream_split_clients_module.xml">A/B-тестирование</link>; </listitem> <listitem> сценарный язык <link doc="docs/njs/index.xml">njs</link>. </listitem> </list> </para> </section> <section id="architecture_and_scalability" name="Архитектура и масштабируемость"> <para> <list type="bullet"> <listitem> Один главный и несколько рабочих процессов, рабочие процессы работают под непривилегированным пользователем; </listitem> <listitem> <link doc="docs/example.xml">Гибкость конфигурации</link>; </listitem> <listitem> <link doc="docs/control.xml" id="reconfiguration">Изменение настроек</link> и <link doc="docs/control.xml" id="upgrade">обновление исполняемого файла</link> без перерыва в обслуживании клиентов; </listitem> <listitem> <link doc="docs/events.xml">Поддержка</link> kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll <nobr>(Solaris 7 11/99+),</nobr> event ports <nobr>(Solaris 10),</nobr> select и poll; </listitem> <listitem> Использование возможностей, предоставляемых kqueue, таких как <!-- EVFILT_VNODE, --> EV_CLEAR, EV_DISABLE (для временного выключения события), NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок; </listitem> <listitem> Использование возможностей, предоставляемых epoll, таких как EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) и EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+); </listitem> <listitem> Поддержка sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+), sendfile64 (Linux 2.4.21+) и sendfilev <nobr>(Solaris 8 7/01+);</nobr> </listitem> <listitem> Поддержка <link doc="docs/http/ngx_http_core_module.xml" id="aio">файлового AIO</link> (FreeBSD 4.3+, Linux 2.6.22+); </listitem> <listitem> Поддержка <link doc="docs/http/ngx_http_core_module.xml" id="directio">DIRECTIO</link> (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS); </listitem> <listitem> <link doc="docs/http/ngx_http_core_module.xml" id="listen">Поддержка</link> accept-фильтров (FreeBSD 4.1+, NetBSD 5.0+) и TCP_DEFER_ACCEPT (Linux 2.4+); </listitem> <listitem> На <nobr>10 000</nobr> неактивных HTTP keep-alive соединений расходуется около 2.5M памяти; </listitem> <listitem> Минимум операций копирования данных. </listitem> </list> </para> </section> <section id="tested_os_and_platforms" name="Протестированные ОС и платформы"> <para> <list type="bullet"> <listitem> FreeBSD 3—11 / i386; FreeBSD 5—11 / amd64; </listitem> <listitem> Linux 2.2—4 / i386; Linux 2.6—4 / amd64; Linux 3—4 / armv6l, armv7l, aarch64, ppc64le; </listitem> <listitem> Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v; </listitem> <listitem> AIX 7.1 / powerpc; </listitem> <listitem> HP-UX 11.31 / ia64; </listitem> <listitem> macOS / ppc, i386; </listitem> <listitem> Windows XP, Windows Server 2003. </listitem> </list> </para> </section> </article>