- PVSM.RU - https://www.pvsm.ru -
Disclaimer: оригинальная статья, перевод которой здесь представлен, служит цели объявить о выходе новых старших версий продукта, рассказать в целом о политике версионирования и успехах за прошедший год. Если вас интересуют сухие технические подробности, то рекомендую смотреть полный лог изменений [1], либо его выжимку с кратким пояснением в конце статьи.
Мы рады представить NGINX 1.10 и 1.11. Эти номера версий обозначают стабильную (stable) и основную (mainline) ветки бесплатных открытых выпусков, над которыми мы сфокусируем наши усилия на протяжении следующих 12 месяцев.
NGINX версии 1.10.0 уже вышел [2], а будущий выпуск основной ветки будет под номером 1.11.0.
Компания NGINX, Inc. поддерживает две ветки всем известного веб-сервера и акселератора NGINX:
Ежегодно мы объявляем устаревшей текущую стабильную ветку и ответвляем от основной ветки новую стабильную, которая будет поддерживаться последующие 12 месяцев:
Версия 1.8 больше не поддерживается. Версия 1.10 выделена из версии 1.9, как новая стабильная ветка, а 1.9 перенумерована в 1.11.
Выбирайте ветку, которая лучше всего отвечает вашим требованиям. Если вы хотите получить все новые возможности, оптимизации и исправления, то стоит отдать предпочтение основной ветке, которая (по иронии) в целом более надежна, чем стабильная ветка. Если вы хотите сократить число обновлений и не испытываете нужды в каких-либо возможностях, запланированных на следующие 12 месяцев, то стабильная ветка — это хороший выбор.
Самое лучшее от двух подходов вобрал в себя NGINX Plus [3], который базируется на основной ветке, но имеет квартальный цикл выпуска и официальную поддержку от команды NGINX.
Последний год был одним из самых насыщенных в истории NGINX. Огромное количество новой функциональности было включено в основную ветку. HTTP/2 [4], TCP и UDP проксирование с балансировкой [5], динамические модули [6] — всё это добавлено в бесплатную версию веб-сервера за последние 12 месяцев.
Множество других возможностей, исправлений и улучшений было также реализовано, что делает серию 1.9 самой крупной [7] по объему разработки за последние годы. Полный список таких изменений можно найти в примечании ко всем выпускам ветки [1]. То небольшое количество изменений, которое было портировано в стабильную ветку 1.8, является показателем высоких стандартов качества и надежности, которых придерживается наша команда разработчиков.
Кроме того, в 2015 году мы преодолели значимый рубеж популярности NGINX. Хотя у нас нет намерений конкурировать и отбирать долю рынка у других веб-серверов, приятно видеть стабильный рост использования NGINX. И на данный момент более 50% из 10 000 самых нагруженных сайтов в мире [8] полагаются на NGINX для доставки приложений и контента своим пользователям.
Будущая серия NGINX 1.11 также обещает много нового и интересного. Продолжается работа над nginScript [9], реализацией JavaScript, специально заточенной под уникальные требования ядра NGINX [10]. Мы собираемся продолжать развивать сообщество разработчиков NGINX, во многом благодаря возможности создания динамических модулей и недавно опубликованной первой части документации для разработчиков [11]. Удовлетворение нужд современных распределенных приложений, основанных на архитектуре микросервисов, также занимает ведущую роль в наших планах, большая часть которых будет анонсирована на нашей ежегодной конференции «nginx.conf» в сентябре 2016 [12].
NGINX Plus [3] является версией NGINX с официальной технической поддержкой и расширенной функциональностью [13], которая позволяет ему отлично справляться с ролью основного балансировщика и контроллера доставки контента (ADC). NGINX Plus базируется на основной ветке и имеет трехмесячный цикл выпуска. Новая функциональность из основной ветки вливается в NGINX Plus и выпускается после прохождения полного интеграционного тестирования и боевой проверки в рамках бесплатной свободной версии NGINX:
NGINX Plus базируется на основной ветке NGINX с добавлением дополнительных функциональных возможностей.
Внутренний номер версии NGINX Plus, соответствующий тому выпуску из основной ветки, на котором он базируется, можно найти в примечаниях к релизам [14]. Чтобы увидеть номер установленной версии можно выполнить команду nginx -v
:
$ nginx -v
nginx version: nginx/1.9.13 (nginx-plus-r9)
NGINX Plus дает вам идеальный баланс новейших, но уже проверенных в бою возможностей бесплатной версии NGINX, улучшенной балансировки и различной дополнительной функциональности [13], интересной коммерческим пользователям, а также полную 24х7 поддержку и обновления от нашей команды инженеров и экспертов. Вы можете бесплатно попробовать в течение 30 дней пробную версию NGINX Plus, для чего достаточно заполнить форму [15] или связаться с нами [16].
stream
[20] для проксирования и балансировки любого TCP и UDP трафика. Например, теперь вы можете использовать NGINX для балансировки DNS [21] или MySQL [22] серверов.slice
[23], который позволяет повысить эффективность кэширования больших файлов за счет разделения их на фрагменты, которые могут быть кэшированы независимо.reuseport
у директивы listen
[28], позволяющая заметно увеличить производительность на многопроцессорных системах в случаях высокой интенсивности поступления новых соединений. Подробная статья об этом [29].non_idempotent
в директивах proxy_next_upstream
[32], fastcgi_next_upstream
[33], uwsgi_next_upstream
[34] и scgi_next_upstream
[35]aio_write
[37]. Подробная статья [38] о том, что такое пулы потоков, для чего они нужны и как их использовать.worker_cpu_affinity
[39] получила автоматический режим и поддержку более 64 процессоров.include
[40] теперь можно использовать внутри блока upstream
[41].proxy_cache_convert_head
[42], управляющая преобразованием метода HEAD
в GET
при кэшировании.nohostname
, запрещающий добавление поля hostname
в заголовок сообщения при логировании в syslog
[43].$realip_remote_addr
[44] модуля realip
[45], которая содержит исходный адрес клиента.$upstream_connect_time
[46], которая содержит время, затраченное на подключение и TLS хэндшейк (если используется шифрование) с бэкендом.memcached
[47] теперь поддерживает byte range запросы [48].upstream
[41] теперь можно использовать разделяемую память с помощью директивы zone
[49], что, в частности, позволяет всем рабочим процессам иметь одинаковое представление о здоровье проксируемых серверов, но может негативно сказываться на производительности.error_log
[52] на уровнях mail
и server
.Предыдущие анонсы: NGINX 1.8/1.9 [53] и NGINX 1.6/1.7 [54].
Автор: VBart
Источник [55]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/nginx/119618
Ссылки в тексте:
[1] полный лог изменений: http://nginx.org/ru/CHANGES.ru-1.10
[2] уже вышел: http://nginx.org/ru/download.html
[3] NGINX Plus: https://www.nginx.com/products/
[4] HTTP/2: https://www.nginx.com/blog/early-alpha-patch-http2/
[5] TCP и UDP проксирование с балансировкой: https://www.nginx.com/blog/announcing-udp-load-balancing/
[6] динамические модули: https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/
[7] самой крупной: https://www.openhub.net/p/nginx/analyses/latest/languages_summary
[8] более 50% из 10 000 самых нагруженных сайтов в мире: http://w3techs.com/technologies/cross/web_server/ranking
[9] работа над nginScript: https://www.nginx.com/blog/launching-nginscript-and-looking-ahead/
[10] уникальные требования ядра NGINX: https://www.nginx.com/blog/nginscript-why-our-own-javascript-implementation/
[11] документации для разработчиков: https://www.nginx.com/resources/wiki/extending/
[12] ежегодной конференции «nginx.conf» в сентябре 2016: https://www.nginx.com/nginxconf/
[13] расширенной функциональностью: https://www.nginx.com/products/feature-matrix/
[14] примечаниях к релизам: https://www.nginx.com/resources/admin-guide/nginx-plus-releases/
[15] заполнить форму: https://www.nginx.com/products/pricing/#free-trial
[16] связаться с нами: https://www.nginx.com/products/pricing/#contact-us
[17] наших официальных репозиториях: http://nginx.org/ru/linux_packages.html
[18] набор отдельных пакетов с модулями: http://nginx.org/ru/linux_packages.html#dynmodules
[19] модуль njs: https://www.nginx.com/resources/wiki/nginScript/
[20] модуль stream
: http://nginx.org/ru/docs/stream/ngx_stream_core_module.html
[21] DNS: https://www.nginx.com/blog/load-balancing-dns-traffic-nginx-plus/
[22] MySQL: https://www.nginx.com/blog/mysql-high-availability-with-nginx-plus-and-galera-cluster/
[23] модуль slice
: http://nginx.org/ru/docs/http/ngx_http_slice_module.html
[24] Модуль SPDY: http://nginx.org/ru/docs/http/ngx_http_spdy_module.html
[25] модуль HTTP/2: http://nginx.org/ru/docs/http/ngx_http_v2_module.html
[26] небуферизированное чтение тела запроса: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_request_buffering
[27] модуль sub_filter: http://nginx.org/ru/docs/http/ngx_http_sub_module.html
[28] директивы listen
: http://nginx.org/ru/docs/http/ngx_http_core_module.html#listen
[29] статья об этом: https://habrahabr.ru/post/259403/
[30] резолвере: http://nginx.org/ru/docs/http/ngx_http_core_module.html#resolver
[31] идемпотентность методов запроса: https://tools.ietf.org/html/rfc7231#section-4.2.2
[32] proxy_next_upstream
: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
[33] fastcgi_next_upstream
: http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#fastcgi_next_upstream
[34] uwsgi_next_upstream
: http://nginx.org/ru/docs/http/ngx_http_uwsgi_module.html#uwsgi_next_upstream
[35] scgi_next_upstream
: http://nginx.org/ru/docs/http/ngx_http_scgi_module.html#scgi_next_upstream
[36] Пулы потоков: http://nginx.org/ru/docs/ngx_core_module.html#thread_pool
[37] директивой aio_write
: http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio_write
[38] Подробная статья: https://habrahabr.ru/post/260669/
[39] Директива worker_cpu_affinity
: http://nginx.org/ru/docs/ngx_core_module.html#worker_cpu_affinity
[40] Директиву include
: http://nginx.org/ru/docs/ngx_core_module.html#include
[41] блока upstream
: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#upstream
[42] Директива proxy_cache_convert_head
: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_convert_head
[43] логировании в syslog
: http://nginx.org/ru/docs/syslog.html
[44] Переменная $realip_remote_addr
: http://nginx.org/ru/docs/http/ngx_http_realip_module.html#var_realip_remote_addr
[45] модуля realip
: http://nginx.org/ru/docs/http/ngx_http_realip_module.html
[46] Переменная $upstream_connect_time
: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#var_upstream_connect_time
[47] Модуль memcached
: http://nginx.org/ru/docs/http/ngx_http_memcached_module.html#memcached_pass
[48] byte range запросы: https://tools.ietf.org/html/rfc7233#section-2.3
[49] директивы zone
: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#zone
[50] версии под Windows: http://nginx.org/ru/docs/windows.html
[51] почтовом прокси-сервере: http://nginx.org/ru/docs/mail/ngx_mail_core_module.html
[52] директивы error_log
: http://nginx.org/ru/docs/ngx_core_module.html#error_log
[53] NGINX 1.8/1.9: https://habrahabr.ru/post/256909/
[54] NGINX 1.6/1.7: https://habrahabr.ru/post/220807/
[55] Источник: https://habrahabr.ru/post/282554/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.