The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск сервера приложений NGINX Unit 1.16.0

13.03.2020 08:00

Состоялся выпуск сервера приложений NGINX Unit 1.16, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска.

В новой версии:

  • Добавлена поддержка балансировки нагрузки в режиме round-robin. Например, для распределения нагрузки на два сервера 192.168.0.100 и 192.168.0.101 с направлением на второй в два раза больше запросов можно использовать следующую конструкцию:
    
        "upstreams": {
            "rr-lb": {
                "servers": {
                    "192.168.0.100:8080": { },
                    "192.168.0.101:8080": { "weight": 2 }
                }
            }
        }
    
  • Реализована возможность задания гибких правил маршрутизации запросов, похожих на функциональность "try_files" в nginx. Дополнительный маршрут задаётся при помощи директивы "fallback", которая срабатывает, если запрошенный файл не найден в пути, определённом через директиву "share". Например, для того чтобы вызвать обработчик на PHP в случае отсутствия файла в каталоге /data/www/ можно указать:
    
       {
           "share": "/data/www/",
           "fallback": {
               "pass": "applications/php"
           }
       }
    

    Допускается использование вложенных блоков "fallback". Например, если файла нет в /data/www/, можно попытаться выдать его из /data/cache/, а если нет и там, перенаправить запрос на другой бэкенд:

    
       {
          "share": "/data/www/",
    
          "fallback": {
              "share": "/data/cache/",
    
              "fallback": {
                  "proxy": "http://127.0.0.1:9000"
              }
          }
       }
    
  • В загружаемых в формате JSON параметрах конфигурации обеспечено удаление комментариев в стиле JavaScript ("//..." и "/* ... */") и чистка маркеров последовательности байтов (UTF-8 BOM), что может быть полезно в случае ручного редактирования параметров в JSON.
  • Снижено потребление памяти за счёт сбрасывания тела очень больших запросов на диск.


  1. Главная ссылка к новости (https://mailman.nginx.org/pipe...)
  2. OpenNews: Выпуск nginx 1.17.9 и njs 0.3.9
  3. OpenNews: Выпуск сервера приложений NGINX Unit 1.15.0
  4. OpenNews: Rambler намерен перевести разбирательство с NGINX в гражданско-правовое поле
  5. OpenNews: Компания Cloudflare реализовала модуль для поддержки HTTP/3 в NGINX
  6. OpenNews: Сделка по покупке NGINX компанией F5 Networks успешно завершена
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/52536-unit
Ключевые слова: unit, nginx
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Vlad (??), 08:39, 13/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Снижено потребление памяти за счёт сбрасывания тела очень больших запросов на диск

    а если диск медленный, а оперативы много? есть опция отключения сброса на диск?

     
     
  • 2.2, R (?), 09:38, 13/03/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сдается мне, что слово "очень большой" - это всего лишь параметр настройки, что считать большим, а что "очень" большим. В общем, не та проблема.

    Не говоря, что тело на диске при избытке ОЗУ просто закешируется уже на уровне ОС, так что вряд ли от этого будут гигантские тормоза.

     
  • 2.6, RAM (?), 15:13, 13/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    есть tmpfs, внезапно.
     
     
  • 3.20, Ano (?), 14:02, 15/03/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага посоны сделали штуку , чтоб ОЗУ сэкономить, а мы давай с оверхедом прикостыляем tmpfs который в ту же самую оперативу будет писать,

    p.s. а еще можно за своим хвостом гоняться - тоже вариант неплохой

     
  • 2.7, Аноним (7), 15:44, 13/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну поставь лимит 100500 терабайт, считай что отключил
     
     
  • 3.21, mommy (?), 20:44, 16/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, нужна именно опция отключения
     

  • 1.3, Аноним (3), 09:50, 13/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    UDS и ondemand так и не завезли?
     
  • 1.4, Аноним (4), 13:52, 13/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вообще-то Java не поддерживается
     
     
  • 2.5, Аноним (5), 14:06, 13/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Поддерживается, начиная с выпуска 1.8.
    https://github.com/nginx/unit/tree/master/src/java
    http://unit.nginx.org/configuration/#configuration-java
     
     
  • 3.8, Аноним (8), 18:17, 13/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Только с этой поддержкой беда, оно не умеет в несколько потоков, все запросы выполняются в одном.
     

  • 1.9, Аноним (9), 21:18, 13/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Где asp.net core?
     
     
  • 2.11, Catwoolfii (ok), 22:10, 13/03/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Может появится, когда .net core будет не только на винде и линухе?
     

  • 1.10, Аноним (10), 21:43, 13/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    так чего там с рамблером ? а то чего то все затухло и не понятно чем закончилось
     
     
  • 2.12, Lex (??), 22:15, 13/03/2020 [^] [^^] [^^^] [ответить]  
  • –8 +/
    А ничего, ведь подняли такой вой, что, к обычному коммерческому спору( с, теперь уже, американской конторой ), подключились все, вплоть до правительства.. а зря.
    Что касается ПО, на крикунов-правозащитников вообще никакого внимания обращать не стоит, ведь они просто отрабатывают свой гешефт( или это идиоты из массовки, которыми просто пользуются )
     
     
  • 3.15, Аноним (-), 01:21, 14/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > ведь они просто отрабатывают свой гешефт( или это идиоты из массовки,

    Ух ты, на опеннет ходят маркетологи из рамблера.

    > которыми просто пользуются )

    Которые просто пользуются сабжевыми продуктами, и совершенно не желают чтобы какой-то левый рамблер ставил им палки в колеса с непонятно какого перепоя?

     
     
  • 4.16, Lex (??), 09:34, 14/03/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Забавно, оказывается я - уже маркетолог из рамблера.
    А ведь стоило всего лишь обратить внимание на полный идиотизм вокруг разборок р. с энджинкс-конторой в плане эпического воя со стороны "энджинксозащитников".

    Какие конкретно он палки в колеса ставит конечным конторам ?
    Мб, он сам э. запретить хочет ?

    И, кстати, учитывая, что э. ныне  принадлежит американской конторе, у любых, кто пользуется этим продуктом, есть реальные шансы получить целую кучу палок в колеса как при любой причине, так, даже и при её отсутствии( или к слову о санкциях, в отношении кого_угодно, которые американская компания обязана исполнять )

     
     
  • 5.18, Аноним (18), 14:17, 14/03/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    хорошая попытка, но нет.
    репутация Рамблера уже подмочена его попыткой сорвать бабла на пустом месте.
    какого было ждать 10 лет и только сейчас сказать - "эй, это наш код!". раньше nginx столько не стоил, да?
     

  • 1.13, Ivan_83 (ok), 22:44, 13/03/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот скажите: его можно юзать вместо uwsgi?
    И есть ли у него фича что когда соединение разрывают то он насильно грохает процесс не дожидаясь окончания обработки запроса?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру