The OpenNET Project / Index page

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

20.10.2017 09:55  Доступен сервер приложений NGINX Unit 0.2

Игорь Сысоев представил второй публичный выпуск сервера приложений NGINX Unit, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования. NGINX Unit обслуживает отдачу динамического контента самостоятельно, но также может работать в тандеме с http-сервером nginx, который может выступать в роли балансировщика, кэша или сервера для отдачи статического контента. Проект пока находится на стадии бета-тестирования и не рекомендован для промышленного использования. Код написан на языке Си и распространяется под лицензией Apache 2.0.

NGINX Unit предоставляет возможность динамического изменения параметров запуска приложений через специальный RESTful JSON API, без необходимости правки файлов конфигурации и перезапуска (ответ на потребность пользователей nginx в возможностях ".htaccess"). Особенностью реализации является то, что изменение настроек не приводит к перезапуску рабочих процессов - меняются только содержимое структур в памяти, что сводит к минимуму накладные расходы и позволяет менять параметры с любой интенсивностью.

RESTful API позволяет управлять работой сервера приложений удалённо и централизовано. Доступ к API может быть организован через UNIX domain socket или TCP. Одновременно под управлением NGINX Unit может выполняться несколько приложений на разных языках программирования, в том числе могут сочетаться разные версии языков (например, PHP 5 и PHP 7, Python 2.7 и Python 3.3). В настоящий момент поддерживаются Python, PHP и Go.

Функциональность NGINX Unit образует несколько процессов: процесс управления конфигурацией, основной процесс для запуска обработчиков web-приложений и многопоточный процесс для маршрутизации вызовов, транслирующий внешние запросы к web-приложениям. Процесс маршрутизации в свою очередь состоит из координатора запросов и рабочих нитей, которые принимают запросы клиентов, направляют их web-приложениям и возвращают ответ. Каждая рабочая нить может работать в асинхронном режиме и обслуживать тысячи одновременных соединений. Под root выполняется только главный управляющий процесс, а все остальные обработчики запускаются под отдельными непривилегированными пользователями.

В новом выпуске улучшена поддержка пакетов на языке Go, добавлен режим постоянного сохранения конфигурации, улучшена обработка ошибок в конфигурации, добавлено свойство для установки таймаута выполнения запроса приложением, налажена обработка POST-запросов в приложениях на PHP. Из планов на будущее отмечается поддержка JavaScript/Node.js, Java и Ruby, возможность динамического управления процессами приложений, поддержка TLS, средства для маршрутизации и проксирования вызовов для TCP, HTTP, HTTPS, HTTP/2.



  1. Главная ссылка к новости (http://mailman.nginx.org/piper...)
  2. OpenNews: Увеличение пропускной способности и минимизация задержек на серверах с nginx
  3. OpenNews: Yandex опубликовал статический анализатор файлов конфигурации nginx
  4. OpenNews: Релиз HTTP-сервера nginx 1.12.0
  5. OpenNews: Root-уязвимость из-за некорректных настроек в пакете nginx для Debian и Ubuntu
  6. OpenNews: Увидел свет HTTP-сервер nginx 1.10.0
Лицензия: CC-BY
Тип: Программы
Ключевые слова: nginx, unit
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, dkg (?), 10:40, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –5 +/
    Выглядит интересно, конечно.
     
     
  • 2.2, Фуррь (ok), 10:43, 20/10/2017 [^] [ответить]    [к модератору]
  • +11 +/
    Чем конкретно? Или так, просто чтоб камент запостить?
     
     
  • 3.71, андрей (??), 11:20, 26/10/2017 [^] [ответить]    [к модератору]
  • +/
    Ну давай расскажи нам в чем такая информотивность твоего коммента? Или это так просто чтобы флейм тут устроить?
     
  • 2.5, лютый жабист__ (?), 10:55, 20/10/2017 [^] [ответить]     [к модератору]
  • –10 +/
    Выглядит как будто они изобрели J2EE 1 0 1999 года в 2017-м году С учетом тог... весь текст скрыт [показать]
     
     
  • 3.7, username (??), 11:00, 20/10/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Оно не нужно когда есть uwsgi
     
     
  • 4.12, jOKer (ok), 11:34, 20/10/2017 [^] [ответить]     [к модератору]  
  • +5 +/
    Судя по документации сабж как раз и обслуживает питоновые приложения через uwsgi... весь текст скрыт [показать]
     
     
  • 5.28, Аноним (-), 14:57, 20/10/2017 [^] [ответить]    [к модератору]  
  • +6 +/
    uwsgi - это сервер приложений, wsgi это интерфейс для интеграции сервера приложений и самого приложения. nginx unit не может работать через uwsgi, потому что он является альтернативой uwsgi. И пока не очень понятно, чем эта альтернатива лучше.
     
     
  • 6.45, Blind Vic (ok), 21:21, 20/10/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    А еще uwsgi это бинарный протокол http://uwsgi-docs.readthedocs.io/en/latest/Protocol.html
     
  • 3.10, Andrey Mitrofanov (?), 11:28, 20/10/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    > Выглядит как будто они изобрели J2EE 1.0 (1999 года) в 2017-м году.

    Хорошо, что джавва теперь не нужна. 2017ый же, ты заметил!  А пхп-питон нужны, два раза.  Инвесторы уверены[I]!

     
     
  • 4.13, Аноним (-), 11:37, 20/10/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    >Хорошо, что джавва теперь не нужна...

    А мужики-то не знают. Продолжают клепать свой никому не нужный энтерпрайз и даже не догадываются про 2017 год.

     
     
  • 5.23, Аноним (-), 13:17, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Не ломай уютный мир экперта по всем вопросам.
     
     
  • 6.43, _ (??), 19:59, 20/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Ну про "J2EE 1999г" и 2017 - он прав. Все Ынтерпрайз жабы нынче на Spring-е :)
     
     
  • 7.69, Очередной аноним (?), 13:00, 23/10/2017 [^] [ответить]    [к модератору]  
  • +/
    > Все Ынтерпрайз жабы нынче на Spring-е :)

    Брэхня! И отучаемся говорить за всех.

     
  • 3.51, qsdg (ok), 01:29, 21/10/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Это точно, хотя уже через пару лет жабисты заметили что много приложений под одн... весь текст скрыт [показать]
     
     
  • 4.52, pavlinux (ok), 06:49, 21/10/2017 [^] [ответить]    [к модератору]  
  • +/
    > Хотя посмотрим, ведь " Код написан на языке Си" -- сколько там дыр будет везде и повсюду.

    Закрой код и вам пох....ю будет.

     
  • 4.65, АнониМ (ok), 22:04, 21/10/2017 [^] [ответить]    [к модератору]  
  • +/
    >хотя уже через пару лет жабисты заметили что много приложений под одним сервером нужно только домашним страничкам.

    судя по мега квалифицированному утверждению - с лора человек пришёл.

     
  • 2.8, username (??), 11:01, 20/10/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    ИНтересно чем? Тем что они идут явно мутными схемами с конфигурированием?
     
  • 2.30, Аноним (-), 15:37, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Согласен, зелёная тема выглядит интересной.
     
  • 1.3, a1x (ok), 10:45, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Это можно сделать что-то похожее на Apache + PHP?
     
     
  • 2.41, пох (?), 19:12, 20/10/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    нет, поскольку, вопреки заявленному в новости, ничего похожего на htaccess как ... весь текст скрыт [показать]
     
     
  • 3.53, Аноним (-), 08:14, 21/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Ну почему без. Можно в качестве этого самого "сервиса приложений" использовать, видимо. Просто у Сысоева маниакальная потребность рулить чуть ли не каждым битом в хттп-запросе. Многим нравится.
     
     
  • 4.55, пох (?), 10:52, 21/10/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    он там не используется, эта штука сама себе fpm и сама себе, видимо, uWSGI а во... весь текст скрыт [показать]
     
     
  • 5.56, Аноним (-), 11:33, 21/10/2017 [^] [ответить]     [к модератору]  
  • +/
    Да почти наверняка чудо - это некая хрень буферизирующая и распределяющая пото... весь текст скрыт [показать]
     
     
  • 6.59, пох (?), 12:33, 21/10/2017 [^] [ответить]     [к модератору]  
  • +/
    они используют стандартные - что для пехепе, что для go И стандартную же libpyt... весь текст скрыт [показать]
     
     
  • 7.60, Andrey Mitrofanov (?), 12:48, 21/10/2017 [^] [ответить]     [к модератору]  
  • +/
    Впечатление, что они создали спрос на фичи апача, упростив их away в nginx, и ... весь текст скрыт [показать]
     
     
  • 8.62, пох (?), 14:13, 21/10/2017 [^] [ответить]     [к модератору]  
  • +/
    они и в апаче были весьма относительной нужности, создавая больше проблем чем ре... весь текст скрыт [показать]
     
  • 7.61, Andrey Mitrofanov (?), 12:55, 21/10/2017 [^] [ответить]     [к модератору]  
  • +/
    Ещё вариант войти в реку упрощения дважды nginx _когда-то_ был прост и невел... весь текст скрыт [показать]
     
     
  • 8.63, пох (?), 14:19, 21/10/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    то зачем Запускать на одном и том же хосте разом go, пихон и пехепе Их наобор... весь текст скрыт [показать]
     
  • 1.4, Аноним (-), 10:54, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    выглядит как привет из 90х в виде cgi
     
  • 1.9, vitalif (ok), 11:27, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не, пока как раз выглядит бесполезно. Что такое "обработчик пхп"? Php-fpm? Ок, а нафига нужен еще один сервер, если за ним все равно php-fpm?
     
     
  • 2.14, jOKer (ok), 11:37, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Похоже что ему Php-fpm не нужен вовсе, и вполне достаточно libphp-embed

    http://unit.nginx.org/docs-configuration.html

     
     
  • 3.16, vitalif (ok), 12:08, 20/10/2017 [^] [ответить]     [к модератору]  
  • +/
    А тогда понятно, Сысоев изобрёл свой вариант уберкомбайна типа Apache, просто... весь текст скрыт [показать]
     
     
  • 4.18, Аноним (-), 12:16, 20/10/2017 [^] [ответить]     [к модератору]  
  • +/
    Лучше, когда у вас мало приложений Если их сотни и тысячи, отдельные сервера бу... весь текст скрыт [показать]
     
     
  • 5.49, vitalif (ok), 00:22, 21/10/2017 [^] [ответить]    [к модератору]  
  • +/
    А это актуально по факту только в шаред хостинге осталось...
     
  • 3.24, Sw00p aka Jerom (?), 13:42, 20/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    а смысл? всё равно один воркер-пхп-процесс на один запрос, чем пхп-фпм хуже ?
     
  • 3.66, username (??), 19:04, 22/10/2017 [^] [ответить]    [к модератору]  
  • +/
    ну надеюсь они в теме что пап отключает опкеш если оно ембед и в sapi стоит что либо отличное от  apache
     
  • 2.15, Аноним (-), 11:54, 20/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Судя по всему есть желание создать более-менее работающий сервер позволяющих деплоить приложения не под jvm с возможностью поддержки встроенных сервисов.
     
  • 1.11, ЫгиПгт (?), 11:31, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Не могу понять в чем принцип Юнита. Я вроде бы точно так же могу запускать одновременно виртуалхосты с php5, php7, passenger и в обычном nginx. Зачем тогда Юнит?
     
     
  • 2.17, Аноним (-), 12:15, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Принцип в том, чтобы выкинуть апач, заменив его предсказуемым и надёжным сервером приложений, отвечающим требованиям промышленного использования.
     
     
  • 3.19, _hide_ (ok), 12:38, 20/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Апач достаточно предсказуем и легко настраивается. Но он наказывает за незнание и ошибки слишком сильно, чтобы с ним рисковать. Да и ресурсов потребляет как не в себя.
     
  • 1.20, eRIC (ok), 12:44, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    это открытый сервер приложений построенный по способу работы nginx, можно его использовать как standalone или embedded. вполне нормальная и хорошая реализация на СИ. вспомните бредоизвестный G-WAN непонятной реализации с многообещающим перформансом.  
     
     
  • 2.21, Andrey Mitrofanov (?), 12:51, 20/10/2017 [^] [ответить]     [к модератору]  
  • +/
    У nginx-а способ работы - мультиплексирокание кучи ядрёных сокетов одним процесс... весь текст скрыт [показать]
     
     
  • 3.26, Аноним (-), 14:11, 20/10/2017 [^] [ответить]     [к модератору]  
  • +/
    Подозреваю, что здесь что-то похожее ... весь текст скрыт [показать]
     
  • 2.25, Sw00p aka Jerom (?), 13:47, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    >>это открытый сервер приложений

    нет!

     
  • 1.22, Анонимус2 (?), 12:56, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >Особенностью реализации является то, что изменение настроек не приводит к перезапуску рабочих процессов - меняются только содержимое структур в памяти, что сводит к минимуму накладные расходы и позволяет менять параметры с любой интенсивностью.

    Если это относится только к внутренней кухне unit, то Сысоев конечно открыл Америку - оказывается не обязательно все перезапускать на каждый чих в 2017 году. А если это относится и к параметрам запуска приложений - хотелось бы посмотреть на реализацию.

     
  • 1.27, Аноним (-), 14:57, 20/10/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • +1 +/
    Все нобт и говорят, что это не нужно, и вообще уже было в 99 А я чувствую себя,... весь текст скрыт [показать]
     
     
  • 2.31, Аноним (-), 15:39, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Они говорят, что динамическая конфигурация nginx... та-дам!.. не нужна!
    "Работает - не трогай" и все такое.
     
  • 2.50, vitalif (ok), 00:23, 21/10/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    А ты что, серьёзно руками админишь сервак с сотней сайтов ... весь текст скрыт [показать]
     
     
  • 3.64, Аноним (-), 18:23, 21/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Как раз нет, не вручную. О чём, собственно, и говорилось, если вы внимательно читали. Именно с точки зрения автоматизации NGINX Unit и кажется потенциально более прямым решением.
     
  • 1.29, Kodir (ok), 15:12, 20/10/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • –5 +/
    Все эти REST ы и вебсервисы - тyп0й сакс, придуманый от слабоумия Обычный TCP-с... весь текст скрыт [показать]
     
     
  • 2.34, K4 (?), 16:11, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    хотелось бы посмотреть на твои достижения
     
  • 2.36, Аноним (-), 16:52, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Если тебе нужно продавать площадку, то продавать её выгодней только порезав на как можно больше кусочков.
     
  • 2.37, Andrey Mitrofanov (?), 17:17, 20/10/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    > Все эти REST'ы и вебсервисы - тyп0й сакс, придуманый от слабоумия.

    Бузинесы раз-вы-инкорпорируешь, ещё не так раскорячишься.

     
  • 2.38, KonstantinB (ok), 17:20, 20/10/2017 [^] [ответить]     [к модератору]  
  • +/
    REST действительно переоценен, при этом единственной умной там штукой - HATEOAS ... весь текст скрыт [показать]
     
     
  • 3.74, Аноним (-), 00:04, 30/10/2017 [^] [ответить]     [к модератору]  
  • +/
    Ахаха HATEOAS это лютая хрень, которая в реальной жизни не работает И судя по ... весь текст скрыт [показать]
     
  • 2.40, пох (?), 19:02, 20/10/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    > Обычный TCP-сервер прекрасно работает - тот же FTP или SMTP.

    но есть один ньюанс: в пехепе, жабке, libcurl - есть, в принципе, и ftp, и даже местами smtp - а вот snginxp - нету. Поэтому если ты изобретешь еще один ненужно-протокол, веб-кодиры не будут знать, что им с него пользы.

    Одно дело - просто заполнить поля в структурке и дернуть интуитивно-приятный, а главное - уже давно выученный апи. Совсем-совсем другое - самостоятельно строить хотя бы даже smtp-like сессию (с авторизацией, с защитой от подмены, с обработкой всех возможных ошибок, от таймаутов на любой стадии протокола (обрабатываемых по разному!) до rogue server, самостоятельно сооружать для нее синтаксические конструкции (помня о возможностях injection!) и самостоятельно парсить ответы (и смотри не перепутай с полями самого протокола!)

    А что http и REST для этой супер-задачи (да практически для всех задач где используют) что-то вроде робота-марсохода, забивающего банальный гвоздь в метре от тебя (но сигналы управления идут через марсианский ретранслятор, чтоб жизнь не казалась медом) - всем пoх.

    Совершенно плевать, сколько там слоев и чего понаворочено ради команды "забить гвоздик", когда можно нажать кнопочку и наслаждаться результатом, а не идти в магазин за микрос...э...как эта штука называется? а-а-а, молоток, что-ли?

    "а других разработчиков у меня для вас нет".

     
  • 1.33, Наставление (?), 16:04, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Родина дала им FastCGI - пользуйся! Не хотим, хотим монолитный комбайн.
     
     
  • 2.44, Аноним (-), 20:27, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Комбайн - это удобно.
    А когда тебе нужно админить сотню-другую контейнеров, удобство перевешивает любую философию.
     
     
  • 3.48, Sw00p aka Jerom (?), 23:32, 20/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    поэтому комбайн в виде апача заменили на нгиникс?
     
  • 1.35, Аноним (-), 16:50, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Да, двадцать лет спустя доросли до уровня JEE 2.0. Ну почти доросли.
     
     
  • 2.39, Аноним (-), 17:52, 20/10/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    пока росли, jee успело сдохнуть и осталось разлагаться в у терпил, швыряющих миллиарды на ветер
     
     
  • 3.47, Кузнец (?), 23:16, 20/10/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Подыхать jee будет ещё очень долго. А пока это 2/3 всего платежеспособного рынка. И чем больше миллиардов на этот "рынок" выбрасывают "терпилы", тем лучше.
    Просто пытло-скриптеры не понимают того простого факта, что когда помре ява помре любая разработка ПО, в которой в принципе участвует человек.
     
     
  • 4.54, BernersLess (?), 10:22, 21/10/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Подыхать jee будет ещё очень долго. А пока это 2/3 всего платежеспособного рынка. И чем больше миллиардов на этот "рынок" выбрасывают "терпилы", тем лучше.
    > Просто пытло-скриптеры не понимают того простого факта, что когда помре ява помре любая разработка ПО, в которой в принципе участвует человек.

    http://danlik.ru/wp-content/uploads/2014/09/Fantazjory.-Nikolajj-Nosov.jpg

     
  • 1.42, Аноним (-), 19:57, 20/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Java is neither supported nor planned?
     
     
  • 2.46, Аноним (-), 21:29, 20/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Not needed.
     
  • 1.58, gogo (?), 12:19, 21/10/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Типа универсальная фигня, которая может запускать что угодно...
    Только для каждого из этих "что угодно" уже давно есть нормальные нативные методы.
    Зачем пытаться собрать их в кучу - не понятно.
    Если бы это было как модуль nginx'а "искаропки", то может и был бы смысл.
     
     
  • 2.67, username (??), 19:07, 22/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Да что вам тут все в комментах непонятно. Как дети.
    Нужен он затем чтобы сделать еще один paas и брать бабки. Отсюда и его "особенности".
     
     
  • 3.68, пох (?), 22:32, 22/10/2017 [^] [ответить]    [к модератору]  
  • +/
    > Нужен он затем чтобы сделать еще один paas и брать бабки.

    и кто понесет-то? те, кто ниасилили настроить php-fpm ? те кто асилили, но слегка затрахались (вообще-то там начинаются чудеса, когда система сложная и нагруженная - но там где они начинаются, у этого проекта пустое место вообще) ?

    мы ж тоже хотим из г-на на курорт, и пытаемся угадать, где деньги.

    в случае с коммерческим nginx вопрос ясен - бабки платят за латание твоих дыр в приоритетном порядке, а не когда-если ты убедишь Максима, и за некоторые фичи, полезные для больших проектов, тоже в приоритетном порядке, а не когда большие уже наиграются.
    Почему нет, у нас тоже был логин для Сысоева в ядро системы - что-то, по результатам, вернули в апстрим, что-то он сам поправил. Если за это можно заплатить - почему же не заплатить, деньги ведь дядины, мне их в зарплату все равно не отдадут.

    но для этого сперва надо было написать такой nginx, чтобы им все захотели пользоваться, вместо апачей и всяких там недоhttpd, и десять лет как папа карла его развивать и поддерживать. А тут ничего похожего. Даже жаба только "coming soon".

     
     
  • 4.73, zo0M (?), 12:07, 28/10/2017 [^] [ответить]    [к модератору]  
  • +/
    так никто и не говорит что Unit 0.2 это готовый продукт! это даже не предрелизная версия...
    эхх, сейчас бы альфа-версии ПО за недостаток функционала хаить.
     

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


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