URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 127687
[ Назад ]

Исходное сообщение
"Выпуск сервера приложений NGINX Unit 1.27.0 "

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

Подробнее: https://www.opennet.me/opennews/art.shtml?num=57293


Содержание

Сообщения в этом обсуждении
"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено lockywolf , 03-Июн-22 08:12 
QUIC там как?

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 03-Июн-22 11:58 
QUIC везде никак. Потому что в OpenSSL его не завезли, а с BoringSSL будут связываться только те, кому это надо. Ну, вот они и не запарятся стать early adopters of nginx-quic. И поставят его в качестве реверс-прокси перед unit, если надо будет.
А для всех остальных, QUIC - это просто механизм общения гуглобраузера с гугловебсервером.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 03-Июн-22 13:28 
Но, пардон, есть же nghttp3/ngtcp2.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 03-Июн-22 08:17 
Выпустили то что успела сделать ру-команда до того как их всех уволили, чтоб дальше индусы не запутались в feature-ветках?

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 03-Июн-22 09:00 
Может каких-то набивших оскомину и уволили под шумок, но судя по коммитам https://github.com/nginx/unit/commits/master все основные разработчики на месте.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Товарищ , 07-Июн-22 11:47 
Русских разработчиков в юните нет.
Основные разработчики уволились (отказались уезжать), я бы даже сказал главные.
А коммитят там тестировщик и слабенький разработчик.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено AS , 03-Июн-22 09:02 
а где писано, что их уволили? вон сколько уехало - увольняться что ли ?

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 03-Июн-22 09:08 
Кто-то пользуется? Есть живые отзывы?

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено john_erohin , 03-Июн-22 13:24 
я пробовал, забил в пользу lighttpd.

1) старый злой перл-скрипт http://snm.sourceforge.net/ не завелся. он CGI а unit поддерживат только psgi. после обертки в psgi-враппер как его там - опять не завелся.

2) отдача статики так себе, индексы надо делать вручную с помощью tree, добавлять user-defined http headers в http responce не умеет.

3) и наконец: прочитав про модную смузи-настройку "впихни json через локальный сокет", я почему-то решил что оно не сохраняет состояние вообще, как доскер-контейнер какой-то. неприятным сюрпризом оказалось наличие сохраненного состояния в /var/lib/unit/conf.json и непредсказуемая интерференция этого с моими настройками.


"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 03-Июн-22 13:51 
Мне кажется, тут корень проблемы в неправильном выборе инструмента.
Пускать CGI-скрипты через сервер приложений - смысла абсолютно никакого, это две разные технологии.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 03-Июн-22 15:15 
> и наконец: прочитав про модную смузи-настройку "впихни json через локальный сокет", я почему-то решил что оно не сохраняет состояние вообще, как доскер-контейнер какой-то. неприятным сюрпризом оказалось наличие сохраненного состояния в /var/lib/unit/conf.json и непредсказуемая интерференция этого с моими настройками.

Можно добавить параметр запуска --state /run/unit и добавить в конфиг systemd RuntimeDirectory=unit.
После этого runtime-конфиг будет сохраняться в /run/unit и очищаться при каждом перезапуске.


"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено john_erohin , 04-Июн-22 14:08 
разумеется, можно очищать состояние в /etc/init.d/unit (какой systemd ? его там нет).

но я считаю, надо выбрать одно их двух (xor):

1) олдовый статический конфиг, который нужно перечитывать например по получению SIGHUP.

2) хранить весь конфиг в памяти, ничего не сохранять, пусть пользователь
сам организует хранение и раздачу.


"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено 67 , 04-Июн-22 15:56 
если у вас полтора юзера, то мб, а когда надо по взрослому, то какие альтернативы, кто умеет сертификат ссл на лету менять?

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 04-Июн-22 17:59 
haproxy, envoy, caddy, да практически любой современный веб- и прокси-сервер.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено john_erohin , 05-Июн-22 08:39 
> кто умеет сертификат ссл на лету менять?

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


"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 05-Июн-22 11:49 
К сожалению, сертификаты виды *.tld частными лицам УЦ не выдают (NSA - может быть).

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено john_erohin , 05-Июн-22 13:25 
*.tld - это извините наглость.
простым людям достаточно *.myshitdomain.tld
а непростые справятся сами. или сделают свой карманный CA и заставят ему доверять всех кого надо.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 05-Июн-22 14:44 
А что же делать, если доменов второго уровня несколько?
И сертификаты живут максимум по три месяца, а потом обновлять надо, причём у каждого своя дата?

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено Аноним , 04-Июн-22 18:04 
> но я считаю, надо выбрать одно их двух (xor):

Обычно используется компромиссное решение - конфиг читается с диска при start/reload, а потом модифицируется через API, но все внесенные изменения живут только до перезапуска.

Очевидно, что unit, если каждый раз очищать state, тоже можно свести к этому частному случаю.


"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено john_erohin , 03-Июн-22 13:32 
4) вдогонку: nextcloud у меня не завелся. то ли я дурак, то ли инструкция устарела.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено noname.htm , 04-Июн-22 16:08 
Рабочий конфиг. Но у меня перед ним обычный nginx ещё стоит.
{
  "settings": {
    "http": {
      "header_read_timeout": 10,
      "body_read_timeout": 10,
      "send_timeout": 600,
      "idle_timeout": 120,
      "max_body_size": 536870912
    }
  },
  "access_log": "/var/log/nginx-unit-access.log",
  "listeners": {
    "127.0.0.1:8300": {
      "pass": "applications/nextcloud"
    }
  },
  "applications": {
    "nextcloud": {
      "type": "php",
      "root": "/usr/share/webapps/nextcloud",
      "user": "nextcloud",
      "group": "nextcloud",
      "processes": {
        "max": 10,
        "spare": 3,
        "idle_timeout": 20
      }
    }
  }
}

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено john_erohin , 05-Июн-22 08:45 
спасибо но уже поздно. я забил на nextcloud в пользу простого обычного git
с моей оберткой, inspired by SparkleShare, права доступа проверяет gitolite.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено VVL , 06-Июл-23 15:56 
А можете подсказать конфиг nginx, который стоит перед unit?
Особенно интересуют блоки безопасности, типа location /remote { return 301 /remote.php$request_uri; }

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено noname.htm , 09-Июл-23 23:19 
> А можете подсказать конфиг nginx, который стоит перед unit?
> Особенно интересуют блоки безопасности, типа location /remote { return 301 /remote.php$request_uri;
> }

Они все тут: https://docs.nextcloud.com/server/latest/admin_manual/instal...
Я адаптировал этот конфиг под себя и спефицику unit. Ключевое:
    location ~ \.php(?:$|/) {
        # Required for legacy support
        rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;

        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        try_files $fastcgi_script_name =404;

        proxy_pass http://127.0.0.1:8300;
        proxy_redirect off;

        proxy_set_header Host            $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }


"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено noname.htm , 04-Июн-22 16:05 
Я использую с Nextcloud на Arch, но спрятал за nginx обычный (потому что бэков много). Работает без нареканий. Документация не все нюансы раскрывает, но так и у самого nginx тоже.

"Выпуск сервера приложений NGINX Unit 1.27.0 "
Отправлено жявамэн , 03-Июн-22 14:28 
Есть хоть один сумашедший кто это вместо томката использует?