The OpenNET Project / Index page

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



"Выпуск сервера приложений NGINX Unit 1.31"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от opennews (?), 01-Сен-23, 21:33 
Опубликован  сервер приложений NGINX Unit 1.31.0, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, WebAssembly и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска...

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


3. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Аноним (3), 01-Сен-23, 21:36 
>  Добавлен экспериментальный модуль для выполнения на стороне сервера приложений, скомпилированных в универсальный промежуточный код WebAssembly, который может запускаться в любых ОС и при использовании JIT демонстрирует производительность, близкую к нативному коду.

Они изобрели CGI?

Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск сервера приложений NGINX Unit 1.31"  +4 +/
Сообщение от Аноним (6), 01-Сен-23, 22:50 
Нет, они изобрели Tomcat для вон тех вышеперечисленных. Жаль, что в современном вебе это всё крайне устарело и нужно только для поддержки легаси.
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от А (??), 13-Окт-23, 21:34 
go, php и nodejs крайне устарели в вебе?
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Аноним (4), 01-Сен-23, 21:42 
попробовал nginx unit -- не зашло. Начнем с того, что в нем нет и половины возможностей обычного нгинкса.
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск сервера приложений NGINX Unit 1.31"  +6 +/
Сообщение от Аноним (9), 02-Сен-23, 00:16 
Это не замена nginx. А замена бекенда, вроде uwsgi, php-fpm. Производительность в разы лучше
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск сервера приложений NGINX Unit 1.31"  +3 +/
Сообщение от Роман (??), 02-Сен-23, 02:17 
Можете привести примеры и ссылки для php-fpm? Очень интересно про разы лучше
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск сервера приложений NGINX Unit 1.31"  +5 +/
Сообщение от Аноним (16), 02-Сен-23, 06:46 
Шок контент https://habr.com/ru/articles/588785/
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск сервера приложений NGINX Unit 1.31"  +1 +/
Сообщение от Роман (??), 02-Сен-23, 07:51 
> Шок контент https://habr.com/ru/articles/588785/

Спасибо

Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Аноньимъ (ok), 02-Сен-23, 20:31 
Лучше SCGI?
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

5. "Выпуск сервера приложений NGINX Unit 1.31"  +1 +/
Сообщение от Аноним (5), 01-Сен-23, 21:43 
> демонстрирует производительность, близкую к нативному коду.

Т.е. раза в 4 хуже, проверено.

Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Аноним (8), 01-Сен-23, 23:25 
Я так до сих пор и не понял смысл этого NGINX Unit'а. Зачем он нужен? Что он делает?
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от КусочеКолбасы (?), 02-Сен-23, 00:17 
Позволяет запуск web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, WebAssembly и Java).

Ваш КО.

Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск сервера приложений NGINX Unit 1.31"  +1 +/
Сообщение от Аноним (13), 02-Сен-23, 04:06 
> Что он делает?

NGINX Unit - это такой сервер приложений.

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

Вот допустим у вас есть приложение (в подавляющем большинстве случаев это веб-приложение), которое принимает запросы по сети и шлёт в ответ какой-то динамический контент (HTML, XML, JSON, итд). Само приложение написано на каком-то языке программирования. Вопрос: вы как его будете публиковать?

Сам по себе веб-сервер nginx, каким бы он не был быстрым, уступает полноценным серверам приложений вроде Apache и IIS в том, что он просто веб-сервер и прокси, но не сервер приложений. Если вы когда-нибудь поднимали сайтик хотя бы на localhost, вы знаете, что nginx не управляет вашим приложением, он прицепляется к php-fpm или к другому серверу приложений, реализующему интерфейс FastCGI. За FastCGI API находится демон, который порождает рабочие процессы интерпретатора. Каждый рабочий процесс - это процесс в операционной системе, куда перенаправляются запросы клиента.
HTTP (web server) <-FastCGI API-> Application Daemon (worker1, worker2, worker3)

В зависимости от языка приложения Application Daemon для nginx может быть разным, но то что важно понимать: nginx понятия не имеет о том как работает приложение, не контролирует ресурсы ОС, многопроцессность, многопоточность. Nginx не понимает, какой pipeline обработки запросов внутри приложения. Nginx не может создать новые экземпляры рабочих процессов. Не понимает, что он может быть частью кластеризированного приложения.

Всё что я написал выше умееют другие сервера приложений.
- Apache полностью контролирует свои модули Apache portable runtime (APR)
- IIS контролирует не только ISAPI-модули, но также .NET, и некоторые другие (вроде nodejs), которые либо просто поддерживаются через сторонние модули, либо из коробки.
Кроме того, есть Java EE, она же Jakarta EE, которая стандартизирует сервера приложений Java сервелеты и прочее. Apache Tomcat, Red Hat JBoss (Wildfly) их много. Ruby on Rails, опять же... ей нужен сервер приложений Passenger

Именно сервера приложений бывают нужны для крупных проектов в ентерпрайзе. Вы можете поставить Apache HTTPD или IIS и никогда не пользоваться этими функциями, просто потому что не видели крупного приложения. Или возможно, вы поставили приложение которое притянуло готовый Tomcat/JBoss, но сами сервлеты вы не писали и не публиковали.

В общем, NGINX Unit - это ответ от NGINX, потому что основной сервер nginx на самом деле глуп и не умеет ничего такого.

Вот только есть пара проблемок:
Разработчики NGINX Unit люди странные, не понятно кто им ставит задачи.
Например, в их сервере приложений, который живёт отдельно от nginx и использоваться вне корпоративной среды не будет, нету:
- Поддержки ASP.NET Core, хотя, казалось бы, в нее встроен Kestrel и не обязательно заниматься реализовывать In-Process Pipelineб как это было во времена .NET Framework.
- Нет поддержки HTTP/2. Вы спросите почему? А вот идите нафиг, вот почему. Вы хотели использовать gRPC в своих приложениях? Хотели пользоваться бинарным дуплексным обменом данными с другим приложением? А вот нефиг! Лучшее что мы можем предложить - это SOAP поверх HTTP/1.1
- Нет поддержки современного серверного железа.
Это вообще всеобщая беда, которая делает IIS незаменимым в ентерпрайзе. Многопроцессорные конфигурации или однопроцессорные Xeon Scalable с несколькими узлами NUMA не поддерживаются не только в NGINX Unit, но и в самом nginx и тем более в Apache HTTPD.

> Я так до сих пор и не понял смысл этого NGINX Unit'а. Зачем он нужен?

Вот на этот вопрос и я бы хотел получить ответ от самих разработчиков без всякой иронии. В чем сакральный смысл запихивать КЛИЕНТСКИЙ код на WebAssembly внутрь сервера, типа в стиле бинарный формат же есть, значит мы можем исполнять...
Они понимают, что WebAssembly - это байткод который придуман специально для интерпретации MV*-фронтенда в браузере без требования к JavaScript?..
При этом у них ни gRPC, ни .NET, ни HTTP/2, ни железа. Там люди думают, как ProtoBuf засунуть в QUIC и стандартизировать формат метаданных (Netflix придумывает новый формат дуплексных RPC), а они фигней какой-то занимаются.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

30. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Аноним (30), 05-Сен-23, 04:43 
> Вот на этот вопрос и я бы хотел получить ответ от самих разработчиков без всякой иронии. В чем сакральный смысл запихивать КЛИЕНТСКИЙ код на WebAssembly внутрь сервера, типа в стиле бинарный формат же есть, значит мы можем исполнять...

Можно Rust в WebAssembly например перегнать (собственно в этом и была основная задумка). Примеры тут лежат: https://github.com/nginx/unit-wasm

Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Аноним (29), 03-Сен-23, 22:44 
Помогает унифицировать запуск приложений на разных языках, жаль нету и близко всего функционала иначе можно было бы внедрить в панели хостинга.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

11. "Выпуск сервера приложений NGINX Unit 1.31"  +1 +/
Сообщение от ivan_erohin (?), 02-Сен-23, 01:08 
> "response_headers" для добавления, удаления или изменения HTTP-заголовков.

вот этого мне не хватало 2 года назад, чтобы выкинуть apache.

Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск сервера приложений NGINX Unit 1.31"  +1 +/
Сообщение от Аноним (17), 02-Сен-23, 07:18 
> промежуточный код WebAssembly, который может запускаться
> в любых ОС и при использовании JIT демонстрирует производительность,
> близкую к нативному коду.

А что мешает просто использовать нативный код сразу?

Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск сервера приложений NGINX Unit 1.31"  +2 +/
Сообщение от Аноним (18), 02-Сен-23, 07:24 
не ищите в этос смысл. просто все хотят вайти а работы для всех нету
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск сервера приложений NGINX Unit 1.31"  –1 +/
Сообщение от Аноним (21), 02-Сен-23, 09:44 
Это не для тех, кто пишет код. Это для админов, которым нужно запустить и поддерживать работоспособность зоопарка из PHP, Python, Java, WabAssembly и другого кода, который работает у разработчика на localhost'e, а надо, чтобы работало на сервере. А разработчик:
-- Я ниче переделывать не буду - жрите, что дают. И вообще, уйду я от вас...
-- Не-не-не-не, мы все запустим, админ - иди развлекайся. А ты, может, реализуешь вон тот тикет.
-- Да вы чё, у меня обед, да и пятница уже. Во вторник посмотрю...

У взрослых людей с большой кучей кода повсеместно используется Кубернатес, остальные чухаются с вот такими вот поделками, чтобы ну хоть как-то...

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

24. "Выпуск сервера приложений NGINX Unit 1.31"  +5 +/
Сообщение от пох. (?), 02-Сен-23, 11:26 
> У взрослых людей с большой кучей кода повсеместно используется Кубернатес

который настолько волшебный, что превращает кучу кода в веб-сервер одним пыщь-пыщь.

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

Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Aaa (?), 02-Сен-23, 11:19 
> А что мешает просто использовать нативный код сразу?

Версионность

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

23. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Aaa (?), 02-Сен-23, 11:21 
Ты попробуй используй от вин 95 системные библиотеки от операционки (не программы) в вин 2000 и что то пойдет туда же ошибка x0c000003 stop кондишен
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

26. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от Аноним (-), 02-Сен-23, 11:56 
> Ты попробуй используй от вин 95 системные библиотеки от операционки
> (не программы) в вин 2000 и что то пойдет туда же ошибка x0c000003 stop кондишен

Собрать прогу от Win95, да и даже от Win2000 под вот именно вебассембли - еще очень сильно ухитриться надо, для начала.

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

Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск сервера приложений NGINX Unit 1.31"  +/
Сообщение от kusb (?), 02-Сен-23, 18:27 
Есть исходники винды, её библиотек и программ. Ещё можно сделать эмулятор на js который сразу выполняет функции винды.

Вообще интересно было бы скомпилировать IE6 таким образом, а потом запустить браузерный движок в браузере и открыть им эту самую страницу. Ведь некоторые сайты открываются в новых браузерах неправильно. Подключаем js файл c IE6 и всё работает.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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