Информационные технологииStfw.Ru 🔍

nginx 1.2.0

🕛 24.04.2012, 09:45
После 19 экспериментальных выпусков в тестовой ветке 1.1.x представлена новая стабильная версия высокопроизводительного HTTP-сервера nginx 1.2.0. В дальнейшем в рамках новой стабильной ветки API не будет меняться, все существенные изменения будут развиваться в рамках новой экспериментальной ветки 1.3.x.
В соответствии с апрельским отчетом компании Netcraft nginx используется на 12.76% всех активных сайтов и на 10.09% из миллиона самых посещаемых сайтов в мире. Год назад nginx использовался на 8.68% всех активных сайтов и 6.52% популярных сайтов. За год nginx перешагнул десятипроцентный рубеж и вытеснил IIS на третье место в рейтинге популярности активных сайтов. В настоящее время под управлением nginx работает около 23.4 млн хостов. По данным W3Techs 11% из миллиона самых посещаемых сайтов в мире используют nginx, в апреле прошлого года этот показатель составлял 6.8%. В России nginx используется на 58.2% самых посещаемых сайтов (год назад - 46.9%).
Из улучшений, добавленных по сравнению с веткой 1.0.x, можно отметить: Модуль ngx_http_upstream_keepalive для включения keep-alive соединений с вышестоящими серверами; Модуль ngx_http_limit_zone_module, позволяющий ограничить число соединений по определённому критерию, переименован в ngx_http_limit_conn_module Директива proxy_redirect теперь поддерживает регулярные выражения и переменные в первом параметре. Директива proxy_http_version, задаёт версию протокола HTTP для проксирования. Директива fastcgi_keep_conn, позволяет организовать постоянные соединения с FastCGI-серверами. Директива worker_aio_requests. Директива limit_zone заменена директивой limit_conn_zone с новым синтаксисом. Директива disable_symlinks,определяет, как следует поступать с символическими ссылками при открытии файлов. Директивы [proxy/fastcgi/scgi/uwsgi]_cache_lock, [proxy/fastcgi/scgi/uwsgi_cache_lock]_timeout. В директивах [proxy/fastcgi/scgi/uwsgi]_cache_path добавлена поддержка параметров loader_files, loader_sleep и loader_threshold; Директивы proxy_cookie_domain и proxy_cookie_path, задают текст, который нужно изменить в атрибутах domain и path полей “Set-Cookie” заголовка ответа проксируемого сервера Директива pcre_jit, которая разрешает или запрещает использование JIT-компиляции (PCRE JIT) для регулярных выражений, известных на момент парсинга конфигурации. Директивы xslt_param и xslt_string_param, которые задают параметры для XSLT-шаблонов; Новая переменная $https, которая принимает значение "on" если соединение работает в режиме SSL. Новая переменная $connection_requests. Новые переменные $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd и $tcpinfo_rcv_space c информацией о клиентском TCP-соединении. Поддержка указания нескольких DNS-серверов в директиве "resolver". Добавлен параметр valid в директиве resolver. По умолчанию теперь используется TTL, возвращённый DNS-сервером; Поддержка ограничения по нескольким limit_conn на одном уровне. Добавлен параметр so_keepalive в директиве listen; Добавлен параметр if_not_empty в директивах fastcgi/scgi/uwsgi_param; Теперь можно указать несколько ограничений limit_req одновременно. Добавлен параметр from в директиве disable_symlinks. Директива worker_cpu_affinity теперь работает на FreeBSD. Загрузчик кэша за каждую итерацию либо обрабатывает число файлов, указанное в параметре load_files, либо работает не дольше времени, указанного в параметре loader_threshold. Изменение во внутреннем API: теперь при внутреннем редиректе в именованный location контексты модулей очищаются. Если сервер, описанный в блоке upstream, был признан неработающим, то после истечения fail_timeout на него будет отправлен только один запрос; сервер будет считаться работающим, если успешно ответит на этот запрос. После перенаправления запроса с помощью директивы error_page директива proxy_pass без URI теперь использует изменённый URI. Ограничение на количество одновременных подзапросов поднято до 200. Теперь keepalive соединения не запрещены для Safari по умолчанию.
Из добавленных в процессе разработки nginx 1.1.x новшеств, которые были перенесены в ветку 1.0.x можно выделить: Модуль ngx_http_mp4_module для организации потокового вещания из файлов в формате H.264/AAC. Директива image_filter_sharpen для повышения резкости итогового изображения. Директива lingering_close, управляет закрытием соединений с клиентами. Директивы uwsgi_buffering и scgi_buffering. Директива max_ranges, ограничивает максимальное допустимое число диапазонов в запросах с указанием диапазона запрашиваемых байт (byte-range requests). Уменьшение потребления памяти при использовании SSL. SSI команда if поддерживает выделения в регулярных выражениях. Параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols. Директивы return и error_page теперь могут использоваться для возврата перенаправлений с кодом 307. Двойные кавычки экранируется при выводе SSI-командой echo. Cимволы 0x7F-0xFF в access_log записываются в виде \xXX. Директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и X-Accel-Charset. На NetBSD поддерживаются accept фильтры. Если суммарный размер всех диапазонов больше размера исходного ответа, то nginx возвращает только исходный ответ, не обрабатывая диапазоны. Уменьшение времени работы загрузчика кэша. Поддержка шифров с обменом ECDHE-ключами. Уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов. Разделяемые зоны и кэши используют семафоры POSIX в Solaris.

Новые программы   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉