Анонс NGINX 1.10 и 1.11

Original author: Owen Garrett
  • Translation
Disclaimer: оригинальная статья, перевод которой здесь представлен, служит цели объявить о выходе новых старших версий продукта, рассказать в целом о политике версионирования и успехах за прошедший год. Если вас интересуют сухие технические подробности, то рекомендую смотреть полный лог изменений, либо его выжимку с кратким пояснением в конце статьи.

Мы рады представить NGINX 1.10 и 1.11. Эти номера версий обозначают стабильную (stable) и основную (mainline) ветки бесплатных открытых выпусков, над которыми мы сфокусируем наши усилия на протяжении следующих 12 месяцев.

NGINX версии 1.10.0 уже вышел, а будущий выпуск основной ветки будет под номером 1.11.0.

Cистема версионирования NGINX


Компания NGINX, Inc. поддерживает две ветки всем известного веб-сервера и акселератора NGINX:

  • Нечетная версия (1.11) является нашей основной веткой. Она активно разрабатывается, новые минорные релизы (1.11.1, 1.11.2 и т.д.) выходят примерно каждые 4-6 недель, регулярно предоставляя новые возможности;
  • Четная версия (1.10) является нашей стабильной веткой. Она предназначается для пользователей, которые не хотят находиться на переднем крае разработки NGINX, и обновляется только ради исправления критических проблем. Например, за последний год всего одно минорное обновление выпущено в рамках стабильной ветки 1.8.

Ежегодно мы объявляем устаревшей текущую стабильную ветку и ответвляем от основной ветки новую стабильную, которая будет поддерживаться последующие 12 месяцев:

Версия 1.8 больше не поддерживается. Версия 1.10 выделена из версии 1.9, как новая стабильная ветка, а 1.9 перенумерована в 1.11.

Выбирайте ветку, которая лучше всего отвечает вашим требованиям. Если вы хотите получить все новые возможности, оптимизации и исправления, то стоит отдать предпочтение основной ветке, которая (по иронии) в целом более надежна, чем стабильная ветка. Если вы хотите сократить число обновлений и не испытываете нужды в каких-либо возможностях, запланированных на следующие 12 месяцев, то стабильная ветка — это хороший выбор.

Самое лучшее от двух подходов вобрал в себя NGINX Plus, который базируется на основной ветке, но имеет квартальный цикл выпуска и официальную поддержку от команды NGINX.

Оглядываясь на проделанную работу в NGINX 1.9


Последний год был одним из самых насыщенных в истории NGINX. Огромное количество новой функциональности было включено в основную ветку. HTTP/2, TCP и UDP проксирование с балансировкой, динамические модули — всё это добавлено в бесплатную версию веб-сервера за последние 12 месяцев.

Множество других возможностей, исправлений и улучшений было также реализовано, что делает серию 1.9 самой крупной по объему разработки за последние годы. Полный список таких изменений можно найти в примечании ко всем выпускам ветки. То небольшое количество изменений, которое было портировано в стабильную ветку 1.8, является показателем высоких стандартов качества и надежности, которых придерживается наша команда разработчиков.

Кроме того, в 2015 году мы преодолели значимый рубеж популярности NGINX. Хотя у нас нет намерений конкурировать и отбирать долю рынка у других веб-серверов, приятно видеть стабильный рост использования NGINX. И на данный момент более 50% из 10 000 самых нагруженных сайтов в мире полагаются на NGINX для доставки приложений и контента своим пользователям.

Заглядывая в светлое будущее NGINX 1.11


Будущая серия NGINX 1.11 также обещает много нового и интересного. Продолжается работа над nginScript, реализацией JavaScript, специально заточенной под уникальные требования ядра NGINX. Мы собираемся продолжать развивать сообщество разработчиков NGINX, во многом благодаря возможности создания динамических модулей и недавно опубликованной первой части документации для разработчиков. Удовлетворение нужд современных распределенных приложений, основанных на архитектуре микросервисов, также занимает ведущую роль в наших планах, большая часть которых будет анонсирована на нашей ежегодной конференции «nginx.conf» в сентябре 2016.

Что касается NGINX Plus


NGINX Plus является версией NGINX с официальной технической поддержкой и расширенной функциональностью, которая позволяет ему отлично справляться с ролью основного балансировщика и контроллера доставки контента (ADC). NGINX Plus базируется на основной ветке и имеет трехмесячный цикл выпуска. Новая функциональность из основной ветки вливается в NGINX Plus и выпускается после прохождения полного интеграционного тестирования и боевой проверки в рамках бесплатной версии NGINX:

NGINX Plus базируется на основной ветке NGINX с добавлением дополнительных функциональных возможностей.

Внутренний номер версии NGINX Plus, соответствующий тому выпуску из основной ветки, на котором он базируется, можно найти в примечаниях к релизам. Чтобы увидеть номер установленной версии можно выполнить команду nginx -v:

$ nginx -v
nginx version: nginx/1.9.13 (nginx-plus-r9)

NGINX Plus дает вам идеальный баланс новейших, но уже проверенных в бою возможностей бесплатной версии NGINX, улучшенной балансировки и различной дополнительной функциональности, интересной коммерческим пользователям, а также полную 24х7 поддержку и обновления от нашей команды инженеров и экспертов. Вы можете бесплатно попробовать в течение 30 дней пробную версию NGINX Plus, для чего достаточно заполнить форму или связаться с нами.



Cписок основных нововведений в NGINX версии 1.10 по сравнению с 1.8:



Предыдущие анонсы: NGINX 1.8/1.9 и NGINX 1.6/1.7.

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 36

    0
    Очень жаль, что нет armhf в числе поддерживаемых платформ для Debian :( Очень не хочется собирать руками на ARM-сервачке.
      0
      Собирайте в qemu, делов-то. :)
        0
        Проблема в том, что хотелось бы получить на выходе такой же .deb, как был раньше, или как сейчас в репах 1.62, чтобы и устанавливался туда же и конфиги искал там же :(
          +3
          Можно в configure скормить такой же набор опций. Формат вывода nginx -V как раз позволяет это сделать.
      +1
      Существуют ли планы по разработке удобного HTTP клиент\серверного фреймворка на базе nginx?
        0
        И да, и нет, смотря что вы под этим подразумеваете. Можно пример?
          0
          Некое подобие cpp-netlib\poco\mongoose, но с упором на HTTP клиент\серверную часть.
          Основные фичи:
          — парсер HTTP запросов
          — грамотно организованый пул входящих\исходящих HTTP соединений
          — поддержка новых стандартов протокола
          Т.е. существующий, обновляемый движок nginx, но с человеческим API.
            0
            Это уже будет nginx 2.0 или что-то в этом роде. Не в ближайшем будущем.
              0
              Что-то вроде этого https://github.com/h2o/h2o/tree/master/examples/libh2o (не nginx, но требованиям вроде соответствует)?
                0
                Очень похоже, спасибо за наводку, никогда не попадался этот проект почему-то…
                Судя по issues сыроват еще, но достаточно живой и с приличным набором нужных фич.
            0
            Типа CAS?
              0
              Почитал про CAS немного — у него только три режима работы: как плагин к апач, как CGI-приложение и через FastCGI. Это не то, через FastCGI к nginx и так есть много способов подцепиться из C\CPP. Я говорил про что то типа существующих native modules, но с человеческим интерфейсом, грубо говоря — NodeJS на C\CPP с движком nginx внутри.
                0
                Хм… Т.е. что-то для написания своей логики под nginx? Perl, Lua, NJS, не? Я просто что-то видимо не улавливаю и не понимаю в контексте какого кейса мог появиться такой вопрос.
                  0
                  Lua-скрипты, FastCGI и т.п. — все это значительно проигрывает по сравнению с возможностью использовать движок nginx напрямую из CPP\C-кода.
                    0
                    Потерял очевидное (но важное) слово — проигрывает в производительности конечно.
                      0
                      А мне казалось, что на сях под nginx можно было без проблем писать свой код (фильтры там это вроде называется? просто не сишник, не очень в теме)? Опять же, сейчас наконец-то добавили динамические модули. Разве это не подходит?
                        0
                        Ну какие-то возможности оно дает, конечно, но полноценное event-driven приложение с таймаутами, колбеками, http-клиентом и т.п. в nginx-модуле не развернешь… Можно, конечно, взять libev какой-то прикрутить, libcurl и по кускам насобирать недостающие части, но тогда получится сборная солянка какая-то, проще с нуля написать свое уже…

                        Вот взять, к примеру, фейсбуковский proxygen (https://github.com/facebook/proxygen). Все в нем хорошо, но нет родного http-клиента, и не везде его собрать можно (+тащит кучу зависимостей на сотни мб).

                        cpp-netlib — и сервер и клиент, и asio, но не дружит с производительностью никак.

                        Есть еще куча всяких MonkeyIO, но они какие-то наколеночные все.

                        Вот если бы производительность и возможности nginx засунуть в конфетную оббертку аля NodeJs — цены бы не было такому решению на рынке…
              0
              Планирутеся ли включить поддержку LDAP, хотя бы в виде плагина,
              в «mainline»? На мой взгляд довольно востребованная возможность — авторизация через LDAP, а существующий сторонний плагин довольно неудобно деплоить.
                0
                Можно использовать https://github.com/nginxinc/nginx-ldap-auth совместно с модулем auth_request, с которым мы и так собираем пакеты.
                  0
                  Зачем? если есть https://github.com/kvspb/nginx-auth-ldap и мой подправленный вариант (https://github.com/CHERTS/nginx-auth-ldap) с возможностью сборки в виде динамического модуля
                    +1
                    Зачем? если есть https://github.com/kvspb/nginx-auth-ldap

                    Потому что c точки зрения поддержки этого на сервере это ужас-ужас. Перекомпилировать каждый раз
                    после обновления nginx это совсем не то чем хочется заниматься.


                    с возможностью сборки в виде динамического модуля

                    Возможно с динамическими модулями, если nginx ребята не будут ломать ABI все будет проще,
                    но все равно надо следить за обновлениями безопсаности плагина.


                    В идеале хотелось бы apt-get install nginx-ldap-support и остальную поддержку оставить разработчикам
                    дистрибутива.

                0
                Планируется ли работа более чем одного worker'а в Windows?
                  +8
                  Развитие Windows версии в планах не стоит. Если только кто-нибудь заинтересованный не придет да и сделает.
                    0

                    Он уже приходил, ты же знаешь, но всем "известный персонаж" сказал — не-то...

                    0

                    Гляньте здесь — https://habrahabr.ru/post/260133/ — я уже давненько сделал… И PR уже там, но всем известный персонаж забраковал пока...

                    0
                    Добрый день!
                    Есть ли уже или только планируется поддержка HTTP/2 Server Push?
                      +1
                      HTTP/2 Server Push пока нет.
                        0
                        Есть ли он в планах на 1.11 или в ближайший год не ждать?
                          +1
                          На ближайшее время в планах пока нет. Вообще поддержка HTTP/2 браузерами оставляет желать лучшего, и без Server Push столько граблей разложено, буквально несколько недель назад очередные обходили, и сейчас вот ещё Safari c MS Edge отличились. Куда вы спешите?
                            +1
                            Мы, фронтенд-разработчики уже просто не можем не спешить ;)

                            Спрашиваю, потому что как раз вчера CloudFlare объявился о поддержке у себя с краткой информацией о текущей поддержке браузерами:
                            https://blog.cloudflare.com/announcing-support-for-http-2-server-push-2/
                              +5

                              Посмотрите сколько багов связанных с поддержкой HTTP/2 только лишь в одном хроме: https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3ENetwork%3EHTTP2 — из них там немало про Server Push.


                              HTTP/2 — переусложненный протокол, пройдет ещё не один год, прежде чем он везде нормально заработает.

                      0
                      А можно узнать, как расчитывается стоимость «NGINX Plus App Pricing» анонсированного в R9?
                        +1
                        Стоимость рассчитывается индивидуально.
                        0
                        Немного удивлен сравнением версий. Open Sourse Nginx Supported platforms — Linux, а вот Nginx Plus так же и для FreeBSD.
                        Чем обусловлен этот момент?
                          0

                          Речь идет о собираемых пакетах. Я согласен, что выглядит странно. Попрошу чтобы поправили.

                        • UFO just landed and posted this here

                          Only users with full accounts can post comments. Log in, please.