The OpenNET Project / Index page

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

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

13.07.2018 20:29

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

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

  • Добавлен параметр max_body_size для ограничения размера тела запроса;
  • Добавлены новые параметры для настройки таймаутов при установке HTTP-соединения;
    
          "settings": {
              "http": {
                  "header_read_timeout": 30,
                  "body_read_timeout": 30,
                  "send_timeout": 30,
                  "idle_timeout": 180,
                  "max_body_size": 8388608
              }
          },
    
  • В модуле для языка Ruby обеспечено автоматическое использование Bundler при наличии такой возможности;
  • В модуле для языка Go реализован интерфейс http.Flusher;
  • В содержимом полей в заголовках запросов разрешено использовать символы в кодировке UTF-8;
  • Устранены проблемы с обработкой ошибок при установке HTTP-соединений.


  1. Главная ссылка к новости (http://mailman.nginx.org/piper...)
  2. OpenNews: Выпуск nginx 1.15.1
  3. OpenNews: Выпуск сервера приложений NGINX Unit 1.2
  4. OpenNews: Выпуск сервера приложений NGINX Unit 1.1
  5. OpenNews: Релиз nginx 1.14.0
  6. OpenNews: Первый стабильный релиз сервера приложений NGINX Unit
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48962-nginx
Ключевые слова: nginx, unit
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (50) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:00, 13/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    поскорее бы добавили поддержку Java™. Почему упор пока идет на ПЫХОПЛЕЯДУ (Perl, PHP, Python, Ruby) - неясно.
     
     
  • 2.2, Аноним (2), 21:04, 13/07/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У Java же свои серверы приложений есть
     
     
  • 3.3, Аноним (1), 21:06, 13/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Подкупает, что NGIИX Unit написан на си, что безусловно понаддаст производительности.
     
     
  • 4.9, Аноним (9), 22:54, 13/07/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    для производительности нужно выбросить жабу.

    PS
    сейчас будут втирать что в синтетических супер тестах она быстрей машкода

     
     
  • 5.10, Аноним (1), 23:04, 13/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > для производительности нужно выбросить жабу

    А я тебе о чем? Низкоуровневый Java™-код, работающий с хттп, следует перевести на си. И NGIИX Unit тому возможная реализация.

    Кстати, если сравнивать с ПЫХОПЛЕЯДОЙ (Perl, PHP, Python, Ruby), то написанные на них хттп-сервера в энтерпрайзе юзать даже не пытались. Так что про "супиртармазную" Java™ мне втирать не нужно, на которой написан не один реально юзаемый в энтерпрайзе хттп-сервер.

     
     
  • 6.11, angra (ok), 00:45, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > если сравнивать с ПЫХОПЛЕЯДОЙ (Perl, PHP, Python, Ruby), то написанные на них хттп-сервера в энтерпрайзе юзать даже не пытались.

    Ну это лишь говорит о степени некомпетентности в вашем типа энтерпрайзе. Но никак не о качестве и скорости этих серверов.

     
     
  • 7.12, Аноним (1), 01:18, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эх, старый добрый argumentum ad hominem.
     
     
  • 8.14, Аноним (-), 07:03, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    каким образом эта великая, богоподобная поговорка оправдывает твою безграмотност... текст свёрнут, показать
     
  • 8.15, angra (ok), 07:54, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В качестве ликбеза, argumentum ad hominem это некто известный дурак негодяй ред... текст свёрнут, показать
     
  • 7.22, Жирный толстяк (?), 20:11, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще, "интерпрайз" не часто сталкивается с проблемой скорости исполнения кода.

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

     
  • 6.34, XoRe (ok), 18:52, 16/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, если сравнивать с ПЫХОПЛЕЯДОЙ (Perl, PHP, Python, Ruby), то написанные на них хттп-сервера в энтерпрайзе юзать даже не пытались.

    Такой серьёзный довод требует пруфов.
    И желательно без перевода стрелок "ну назовите мне сервис в энтерпрайзе на ПЫХОПЛЕЯДЕ".
    Сами тезис выдвинули, сами доказывайте.

     
  • 4.19, Аноним (19), 16:07, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Мешать сишку с джавой не особо, как по мне. Не энтерпрайзно
     
     
  • 5.24, Мамкины ценители инноваций (?), 20:56, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    а про микросервисы слыхал? там хачкиль и пхп мешают
     
     
  • 6.25, Аноним (19), 23:35, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Честно отвечаю -  не слышал. Сейчас этих модных концепций и приемов столько расплодилось - черт ногу сломит за ними всеми следить
     
  • 4.20, Ydro (?), 16:28, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    NGIИX Unit - это просто обёртка над зоопарком представленных выше языков программирования, выбивается только Go. Оверхед не критичен по сравнению с тем что Unit запускает.
     
  • 4.35, лютый жабист... (?), 06:15, 17/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >NGIИX Unit написан на си, что безусловно понаддаст производительности

    Я понимаю, что ты полный ламер в вопросе, лови шмат бисера. В большом проекте голая скорость среды вообще не роляет. Допустим плюсы в 2 раза быстрее жабы и в 3 раза меньше ОЗУ хотят. Но ты на сях замаешься писать архитектурно грамотное решение, в итоге у тебя вся бизнеслогика будет на костылях и хипсторских микросервисах. Со скоростью в четверть жабы.

     
  • 2.4, Аноним (1), 21:08, 13/07/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > неясно

    Хотя сейчас стало ясно. Начали с самых тормозных языков. (Не объясняет, почему тогда там числится Go.)

     
  • 2.13, Аноним (13), 01:54, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Java традиционно деплоится в своих форматах (WAR, EAR, SAR и т.п.), поддерживать их, или новый создать? Да и embedded JVM понадобится, тоже еще задачка не из легких.
     
  • 2.26, KonstantinB (ok), 06:15, 15/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Добавят. На главной странице Юнита: Supported Application Languages: Java (coming soon).

    Почему - на самом деле ясно, из-за нетривиальности разработки. С перечисленными языками техническая реализация намного проще.

     
     
  • 3.27, Andrey Mitrofanov (?), 07:17, 15/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Добавят. На главной странице Юнита: Supported Application Languages: Java (coming soon).
    >Java (coming soon).

    Оно там каминг сун с самого начала. http://www.opennet.me/openforum/vsluhforumID3/112553.html#60

    Есть версия, что: 1/ эта java очень хороша для "pro" версии -- продажники смотрят на анонимов, плачущих "ах, где же джавва" и потирают ручонки;  2/ она совсем не хороша для "про"-версии -- не нашлось ни одного, даже анонимного, покупателя [разработки] фичи.

    Диалектика.

    > Почему - на самом деле ясно, из-за нетривиальности
    > техническая реализация

     
     
  • 4.28, KonstantinB (ok), 08:11, 15/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У них много чего "каминг сун" с самого начала, и постепенно это все появляется.

    Полагаю, у них есть какой-то план, и они его придерживаются :-)

     
     
  • 5.29, Andrey Mitrofanov (?), 10:11, 15/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > У них много чего "каминг сун" с самого начала, и постепенно это
    > все появляется.

    pro-версия-то с фичами только "для клиентов" -- есть, или я зря слюной брызжу?  //ну, то есть, я-то пусто-порожне, но вы, я вижу, ближе к-

    > Полагаю, у них есть какой-то план, и они его придерживаются :-)

     
     
  • 6.30, KonstantinB (ok), 02:04, 16/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не, я не ближе, я просто активно слежу.

    Насколько мне известно, на данный момент про-версии нет, что в меркуриал-репозитории лежит - это все, что есть.

     

  • 1.5, Аноним (5), 21:15, 13/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска

    А по-нормальному-то (с изменением конфига) оно умеет работать?

     
     
  • 2.6, Зеленый Аноним (?), 21:37, 13/07/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты для начала пойди на википедию и ознакомимся с термином сервер приложений.

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

     
     
  • 3.21, Ydro (?), 16:35, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А централизованные настройки у вас на бумажке хранятся и после перезагрузки (не дай боже) в ручную вбиваете? Расшарить скрипт - он же файл - это же очень просто надо городить сервер приложений и ни как иначе, а ещё можно протокол передачи под это придумать :)
     
     
  • 4.32, нах (?), 12:19, 16/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а ещё можно протокол передачи под это придумать

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

    У нас есть прекрасный rest api! Правда, теперь вместо текстового конфига, который либо читается, либо немедленно дает ошибку, у нас есть какой-то конфиг (лучше всего - в тазе банных, чтобы еще налететь на локи или тормоза и отдельно обработать эту ситуацию, когда, конечно, удастся ее вычленить как источник проблем), отдельно его парсилка (может распарсить, может поломаться, может содержать ошибку), отдельно скармливатель в сетевой сокет (еще десять мест для появления трудноуловимых проблем), отдельно парсер ответов в интуитивно-приятном формате.

    зато у девопов всегда будет работа и зарплата... ну или хотя бы иногда их, наверное, будут кормить?

     

  • 1.7, Brontog (?), 22:05, 13/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда допилят возможность использования Unit-Ruby на CentOS ?
     
     
  • 2.33, lex.borisovgmail.com (?), 13:35, 16/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А в чём там проблема?
    CentOS сильно старый? Или там rack нет?
     
     
  • 3.36, gdenis (??), 15:44, 18/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Обычный CentOS Linux release 7.5.1804. Под rvm модуль unit-ruby не собирается.

    /bin/ld: build/src/ruby/nxt_ruby-ru244.o: relocation R_X86_64_32 against '.rodata' can not be used when making a shared object; перекомпилируйте с параметром -fPIC
    /bin/ld: build/src/ruby/nxt_ruby_stream_io-ru244.o: relocation R_X86_64_32 against '.rodata' can not be used when making a shared object; перекомпилируйте с параметром -fPIC


     
     
  • 4.37, Щщ (?), 17:07, 18/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    "перекомпилируйте с параметром -fPIC"
    И что, не помогает?
     
     
  • 5.38, gdenis (??), 17:44, 18/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не помогает, при запуске

    ... failed: "libruby.so.2.4: cannot open shared object file: No such file or directory ...

    Нафик с пляжу такой софт.

     
  • 4.39, lex.borisovgmail.com (?), 19:15, 18/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Можно подробностей? Как собирали, устанавливали какие нибудь дополнительные флаги. Версия руби и как она была собрана?
    Можете написать на почту или на гитхаб в https://github.com/nginx/unit/issues мы разберемся.

    Спасибо!

     
     
  • 5.40, gdenis (??), 09:41, 19/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да обычным образом:
    # su - rdu1
    $ gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
    $ curl -L https://get.rvm.io | bash -s stable
    $ exit
    # su - rdu1
    $ rvm install 2.4
    $ ruby -v
    ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-linux]
    $ which ruby
    ~/.rvm/rubies/ruby-2.4.4/bin/ruby

    $ cd unit
    $ ./configure
    $ ./configure ruby --module=ru244
    $ make ru244

    Помогает
    $ export CFLAGS="-fPIC"
    Но один бил не работает, не может найти libruby.so.2.4

     
     
  • 6.41, Valentin V. Bartenev (?), 11:24, 19/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Проделал на свежеустановленном CentOS, правда под рукой был 7.4, а не 7.5 - всё собралось и заработало без проблем, никаких CFLAGS="-fPIC" не понадобилось.

    Что показывает:
    $ ruby -r rbconfig -e 'printf("%s",RbConfig::CONFIG["configure_args"])'
    ?

     
     
  • 7.42, gdenis (??), 11:28, 19/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    '--prefix=/home/rdu1/.rvm/rubies/ruby-2.4.4' '--disable-install-doc' '--enable-shared'
     
     
  • 8.43, Valentin V. Bartenev (?), 14:54, 19/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Скачал CentOS-7-x86_64-Minimal-1804 iso, установил в виртуалку, проделал все выш... текст свёрнут, показать
     
     
  • 9.44, gdenis (??), 15:22, 19/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Очень странно, я специально чистую систему для теста Unit развернул по стандартн... текст свёрнут, показать
     
  • 9.49, gdenis (??), 15:06, 23/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Отправил на почту ... текст свёрнут, показать
     

  • 1.8, ляликс (?), 22:09, 13/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    flask поддерживает?
     
     
  • 2.45, Аноним (45), 11:26, 20/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Полгода назад - нет. С новыми версиями - без понятия.
     
     
  • 3.47, Valentin V. Bartenev (?), 14:05, 20/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Flask точно также использует интерфейс WSGI и работает с Unit-ом с самой первой публичной беты.
     
     
  • 4.50, ляликс (?), 12:00, 26/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Flask точно также использует интерфейс WSGI и работает с Unit-ом с самой
    > первой публичной беты.

    понятно...

     

  • 1.16, Нанобот (ok), 08:25, 14/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > В содержимом полей в заголовках запросов разрешено использовать символы в кодировке UTF-8

    Если я правильно помню спецификацию, в заголовках допускется только ascii

     
     
  • 2.18, Аноним (18), 15:51, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    HTTP/2.0 умеет в бинарную кодировку с чанками.
     
  • 2.48, Valentin V. Bartenev (?), 14:10, 20/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Согласно RFC 7230 в значениях полей заголовка допускается c 0x20 по 0xFF.
     

  • 1.17, Аноним (17), 14:16, 14/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Интересно, оно хотя бы позволяет теперь пускать что-то сложнее phpinfo
     
     
  • 2.23, Аноним (23), 20:44, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Учитывая, что с первого стабильного релиза там уже все прекрасно работало, а для таких как ты была статья про тот же вордпресс(https://www.nginx.com/blog/installing-wordpress-with-nginx-unit/)…
     
  • 2.31, бабаски (?), 09:04, 16/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    я успешно гонял большой навороченный сайт на битриксе в продакшне
     
     
  • 3.46, Аноним (45), 11:27, 20/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо, вырвало
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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