NGINX Unit — Новый продукт от создателей Лучшего Reverse Proxy

Привет! А вы уже в курсе за NGINX Unit, который только что за-анонсили на NginxConf? Весь интернет стоит на ушах из-за этого продукта.

Итак, ребята из NGINX Inc анонсировали новый продукт — Unit. Он уже выложен на Github. Продукт бесплатен и находится в стадии Beta.

Что это такое? В кратце, очень простой, крайне современный и довольно быстррый сервер приложений (web application server).

Этот продукт призван упростить жизнь разработчикам, которые сами ответственны за деплой своих приложений на серваки. Ведь буквально в 20 строк json-конфига вы сможете залить своё PHP/Python/Go приложение, доступ к которому будет из Интернета.

Например, вот так мы минимально конфигурируем деплой Блога, который будет жить на 8300 порту. Этот блог будут обсуживать 20 воркеров. При обращении по пустому URL, будет открываться index.php, а файлы приложения находятся в /www/blogs/scripts.

{
     "listeners": {
         "*:8300": {
             "application": "blogs"
         }
     },
     "applications": {
         "blogs": {
             "type": "php",
              "workers": 20,
              "root": "/www/blogs/scripts",
              "index": "index.php"
         }
     }
}

Естественно, как и у любого современного DevOps приложения, у Unit есть конфигурация по REST API. Это довольно удобно, когда нам нужно автоматизировать целый парк своих сервисов.

В данный момент на Unit вы можете размещать приложения только на 3 языках — PHP, Python (только wsgi) и Go. В случае Go достаточно указать лишь только путь до бинарника вашего приложения.

В последствии обещают зависти целый букет новых языков. Это и javascript, это и Java. Возможно, даже появится ASP.NET.

Важно понимать, что пока NGINX Unit — это ранная Бетка, 0.1 версия, сами понимаете. Так что, на это пока стоит смотреть, как на игрушку, на которой можно запустить свой личный бложик, но не продакшен.

Last but not least — этот продукт (Unit) умеет работать, как бэкенд основного Nginx. Вы можете, например, отдавать всю статику через ваш любимый N-джинкс, а запросы к приложению обрабатывать уже непосредственно с помощью Юнита. В этом случае вам не придётся городить каких-нибудь PHP-FPM, чтобы пропустить HTTP-реквесты к вашему приложению.

Категории: Программирование