The OpenNET Project / Index page

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

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

30.05.2019 21:42

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

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

  • Возможность маршрутизации запросов по аргументам URI, заголовкам и Cookie;
    
        "headers": [
            {
                "Accept-Encoding": "*gzip*",
                "User-Agent": "Mozilla/5.0*"
            },
            {
                "User-Agent": "curl*"
            }
        ]
    
  • В шаблонах сопоставления маршрутов реализована поддержка масок в середине выражения. Например,
    
       "host": ["eu-*.example.com", "!eu-5.example.com"]
    
  • Поддержка операций, отправляемых с использованием метода POST, для манипуляции содержимым массивов в конфигурации (изменения передаются в формате JSON);
    
        curl -X POST -d '{"match": {"uri": "/production/*"}, \
           "action": {"pass": "applications/wiki-prod"}}'  \
           --unix-socket=/path/to/control.unit.sock        \
           http://localhost/config/routes/
    
  • Поддержка смены пользователя и группы при помощи capabilities CAP_SETUID и CAP_SETGID в Linux без выполнения основного процесса под привилегированным пользователем.


  1. Главная ссылка к новости (https://mailman.nginx.org/pipe...)
  2. OpenNews: Выпуск сервера приложений NGINX Unit 1.8 с поддержкой Java
  3. OpenNews: Выпуск сервера приложений NGINX Unit 1.6
  4. OpenNews: Выпуск сервера приложений NGINX Unit 1.5 с поддержкой Node.js
  5. OpenNews: Выпуск сервера приложений NGINX Unit 1.4
  6. OpenNews: Выпуск сервера приложений NGINX Unit 1.3
Лицензия: CC-BY
Тип: Программы
Ключевые слова: unit, nginx
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (31) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, Штунц (?), 23:14, 30/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Какая разница между "запуском Web-приложения на языке PHP" и обычным хостингом PHP скриптов?
     
     
  • 2.2, Аноним (2), 23:26, 30/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо, «приложение» работает постоянно, а скрипты запускаются по запросу.
     
  • 2.6, пох. (?), 07:13, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    такая же, как "между запуском обычного приложения пользователем" и "'хостингом' несвязанных исполняемых файлов в его хомяке/bin"

    чего на самом деле спросить-то хотел?

     

  • 1.3, username (??), 23:34, 30/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Годно, надеюсь в скором времени вытеснит fpm и все связанные с ним проблемы.
     
     
  • 2.4, SubGun (ok), 23:48, 30/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Какие у fpm проблемы? Работает и работает.
     
  • 2.7, Аноним (7), 07:36, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кто-нибудь мне обьяснит чем ЭТО лучше fpm?
     
     
  • 3.10, Аноним (10), 09:41, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    По-видимому, "гибкостью" - авторы предполагают, что пользователь пишет одновременно на нескольких языках и любит в одном проекте смешивать разнородный код.
     

  • 1.5, Аноним (5), 02:37, 31/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Самое хорошее что осталось от Апача так это видимо лицензия
     
     
  • 2.8, Andrey Mitrofanov_N0 (?), 08:33, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Самое хорошее что осталось от Апача так это видимо лицензия

    Да, ритуальные услуги хороши.

     

  • 1.9, Ilya Indigo (ok), 09:30, 31/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Объясните, пожалуйста, некоторые моменты.
    1 NGINX Unit он работает сам по себе не зависимо от NGINX, или ему нужен NGINX для работы?
    2 В связке с PHP будут ли читаться .user.ini - файлы?
     
     
  • 2.11, Совершенно другой аноним (?), 10:29, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    по поводу первого вопроса - в анонсе первой стабильной версии написали:

    > NGINX Unit обслуживает отдачу динамического контента самостоятельно, но также способен работать в тандеме с http-сервером nginx, который может выступать в роли балансировщика, кэша или сервера для отдачи статического контента.

    Про второй - сорри, ничего сказать не могу.

     
     
  • 3.12, Ilya Indigo (ok), 12:31, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> NGINX Unit обслуживает отдачу динамического контента самостоятельно, но также способен работать в тандеме с http-сервером nginx, который может выступать в роли балансировщика, кэша или сервера для отдачи статического контента.

    Я это читал, но не понял.
    В моём понимании, нет чисто динамического контента, он всегда у меня смешанный (если периодически отключать режим PHP и выводить чистый HTML) или статический!

    1 Если я в PHP-файле не включаю режим PHP, или включаю для того, чтобы подключить внешний HTML-файл кэша и отключаю его, это считается статическим или динамическим контентом?
    2
    > способен работать в тандеме с http-сервером nginx

    Apache тоже СПОСОБЕН, но может справляется и без него.
    NGINX Unit может БЕЗ NGINX обрабатывать и статику и динамику?
    А если может, то зачем ему может понадобиться тандем с NGINX?

     
     
  • 4.13, Аноним (13), 13:15, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А если может, то зачем ему может понадобиться тандем с NGINX?

    Ну как пример балансировщик же указан - наверное можешь построить схему с одним NGINX-балансировщиком за которым лежит 20 NGINX Unit, которые забиты работой по гланды, разгребая скриптами миллионы запросов на обработку, которые им этот балансировщик скидывает по round-robin?

     
     
  • 5.14, Аноним (14), 16:22, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >скидывает по round-robin

    Не камильфо, если только калтент кругом не статичный.
    Камильфо должно быть session-aware.

     
     
  • 6.22, Аноним (22), 05:38, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если приложение изначально спроектировано с учётом кластеризации, никакой session aware не понадобится.
     
  • 4.16, KonstantinB (ok), 21:29, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сам по себе Unit не раздает статику. Если очень хочется обойтись без nginx, можно написать раздавалку статики на любом из поддерживаемых Unit языков (на go с какой-нибудь sendfile-библиотекой это будет всего несколько строк кода, если опустить вопросы безопасности) и настроить маршрутизацию.
     
     
  • 5.29, Ilya Indigo (ok), 21:09, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю!
     
  • 4.26, zo0Mx (?), 13:56, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    NGINX Unit работает как сервер приложения.
        "NGINX Unit может БЕЗ NGINX обрабатывать и статику и динамику?"
    пока не может, но в планах у разработчиков есть идея реализовать и этот функционал
        
     
     
  • 5.28, Ilya Indigo (ok), 21:08, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю!
     

  • 1.15, Ддд (?), 20:02, 31/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем это от обычного апача отличается? Типа модно&молодежно и все?
     
  • 1.17, Аноним (17), 22:42, 31/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вопрос разработчикам NGINX Unit или к ним предчастным:

    Вот тут https://www.nginx.com/blog/installing-wordpress-with-nginx-unit/ в комментах сказано:

    Currently NGINX Unit does not support SSL/TLS at the application layer. This is a roadmap item and will be added soon however NGINX Plus can be used to offload your SSL/TLS connections and proxy over standard HTTP to your application.

    Без этой фичи невозможно запустить любой бложик на вордпрессе по HTTPS чтоб хоть как-то протестить работу NGINX Unit в боевых или приблеженных к нему условиях. С момента написания статьи https://www.nginx.com/blog/nginx-unit-1-0-released/ уже вышло куча версий NGINX Unit в которых вы добавляете языки и прочие вещи тем временем не добавляете важный функционал, что делает невозможным его даже протестировать.

    Когда эта штука будет реализована?

     
     
  • 2.19, cvsup1 (?), 22:48, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Уже.
    https://www.nginx.com/blog/nginx-unit-1-5-available-now/
     
     
  • 3.20, Аноним (17), 23:05, 31/05/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Уже.

    Так это вроль не то. Последний раз когда я его пробовал завести по HTTPS в связке с nginx, при открытии сайта по HTTPS вордпресс уходит в циклческую переадресацию из-за того, что вордпресс не понимал что он работает по HTTPS и выдавал 301 редирект. Когда я начал копать почему так, оказалось что апликейшин сервер должен понимать что к нему пришел запрос по HTTPS и соотвествующим образом сообщать это вордпрессу. Все другие апликейшин серверы (php-fpm, uwsgi, etc...) это понимают и сообщают как нужно. Если же пытаться запустить на NGINX Unix вордпресс, друпал или магенту, то придется делать грязные хаки в коде или в лучше случае правки в конфиге, чтоб движки нормально понимали как их пытаются запустить.

     
  • 2.24, anonymous (??), 09:08, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я не причастен к разработчикам NGINX Unit, но я пробовал его применять и с данной проблемой даже не столкнулся. Всё потому, что спереди балансировщиком всё равно стоит Nginx, который умеет SSL/TLS.
     

  • 1.18, sas (??), 22:47, 31/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    web интерфейс таки уже написали или руками опять всё дёргать?
     
     
  • 2.21, Анонимный эксперт (?), 00:29, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    курлом все дергать, и нету Host и SNI
     
  • 2.23, Аноним (22), 05:39, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если вам нужен веб интерфейс, вам, вероятно, не нужен unit.
     
  • 2.25, Аноним (25), 10:41, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Эта фича будет в версии плюс
     
  • 2.27, zo0Mx (?), 14:00, 01/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если вам нужен Web/GUI то не тратьте время и юзайте IIS
     
  • 2.30, Аноним (30), 04:40, 02/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    LiteSpeed Web Server
    Cherokee HTTP Server
    имеют вебинтерфес для настройки
     

  • 1.31, Аноним (31), 04:47, 02/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Видимо я уже стар и мозг мой недостаточно гибок. С fpm я вроде еще что-то понимаю. А вот какие преимущества дает например запуск go приложений под unit перед запуском их напрямую?
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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