The OpenNET Project / Index page

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



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

"Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от opennews (?), 26-Мрт-19, 23:41 
Доступен (http://mailman.nginx.org/pipermail/nginx-announce/2019/00023...) выпуск основной ветки nginx 1.15.10 (http://nginx.org), в рамках которой продолжается развитие новых возможностей (в параллельно поддерживаемой стабильной ветке 1.14 (https://www.opennet.me/opennews/art.shtml?num=48454) вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей).


Основные изменения (http://nginx.org/en/CHANGES):


-  При использовании имени хоста в директиве listen, nginx теперь создаёт listen-сокеты для всех адресов, соответствующих этому имени (в ранних версиях использовался только первый адрес);
-  В директиве listen появилась возможность указания диапазонов портов;
-  Добавлена возможность загрузки SSL-сертификатов и секретных ключей из переменных без использования промежуточных файлов;
-  Устранена проблема с не заполнением переменной $ssl_server_name при  использовании OpenSSL 1.1.1;
-  Исправлена ошибка сборки nginx под Windows при использовании Visual Studio 2015 и новее.


Дополнительно можно отметить выпуск (http://mailman.nginx.org/pipermail/nginx/2019-March/057707.html) njs 0.3.0 (http://nginx.org/en/docs/njs/), интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript и позволяет расширять возможности nginx по обработке запросов с помощью скриптов в конфигурации. Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях. В новом выпуске njs добавлена (http://nginx.org/en/docs/njs/changes.html#njs0.3.0) поддержка модулей, определённых в спецификации ECMAScript 6 (https://www.opennet.me/opennews/art.shtml?num=42450). Также предложена новая директива js_path и реализована функция  Object.prototype.propertyIsEnumerable().

URL: http://mailman.nginx.org/pipermail/nginx-announce/2019/00023...
Новость: https://www.opennet.me/opennews/art.shtml?num=50396

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

Оглавление

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


1. "Выпуск nginx 1.15.10 и njs 0.3.0"  –5 +/
Сообщение от Чёртикemail (?), 26-Мрт-19, 23:41 
Что, они ещё один интерпретатор js родили? Уже ж есть отличный duktape (https://github.com/svaarala/duktape), spider monkey, libv8 на крайняк.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск nginx 1.15.10 и njs 0.3.0"  +4 +/
Сообщение от аноннн (?), 26-Мрт-19, 23:59 
им нужен не громоздкий, а узконаправленный, быстрый и встраиваемый интерпретатор, а не монстры
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

23. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Организация Объединённых Тюленей (?), 27-Мрт-19, 14:07 
duktape, ЕМНИП, как раз для таких дел и предназначен.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Выпуск nginx 1.15.10 и njs 0.3.0"  +4 +/
Сообщение от zzz (??), 27-Мрт-19, 00:18 
Про V8 Сысоев писал 9 лет назад, с тех пор ничего не поменялось http://sysoev.ru/prog/v8.html
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Алеша (?), 27-Мрт-19, 00:59 
Вот несколько же это нужно быть, ээмм... недалёким, что бы не понимать, что браузерный интерпретатор js, предназначенный обрабатывать в лучшем случае десятки запросов в секунду (и реально обрабатывающий единицы), это несколько иное, чем серверный, где их реально сотни тысяч и миллионы обрабатываются??
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Аноним (5), 27-Мрт-19, 01:10 
Ну, ту же ноду докостылили до весьма приемлемых результатов.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

28. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Аноним (28), 27-Мрт-19, 21:57 
У ноды один контекст на все соединения, nginx же создает новый на каждое соединение.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Выпуск nginx 1.15.10 и njs 0.3.0"  –2 +/
Сообщение от Аноним (6), 27-Мрт-19, 01:15 
V8 на ноде норм обрабатывает запросы по 10K/c на ядро. Чем njs лучше?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

10. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Аноним (10), 27-Мрт-19, 09:28 
У них разные области применения. Судя по анонсу njs, там даже сборщика мусора нет.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

7. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Аноним (7), 27-Мрт-19, 02:24 
V8 в сотни раз быстрее njs будет.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Выпуск nginx 1.15.10 и njs 0.3.0"  +3 +/
Сообщение от Аноним (8), 27-Мрт-19, 08:55 
Ваша вера недостаточно крепка: V8 быстрее в тысячи раз!
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "Выпуск nginx 1.15.10 и njs 0.3.0"  +3 +/
Сообщение от eRIC (ok), 27-Мрт-19, 09:43 
> Ваша вера недостаточно крепка: V8 быстрее в тысячи раз!

яблоки и бананы сравниваете.

njs - это подмножество языка JavaScript, позволяющее расширить функциональность nginx. он никак не претендует на роль монстра V8. его задача, тупо сриптингом расширить функционал nginx. хочешь конфигурировать/функцию расширить nginx на лету при помощи JavaScript, пожалуйста используй.

как это делают других продукты, но в основном там Lua используют:
haproxy - расширяется при помощи Lua
tarantool - расширяется при помощи Lua
rspamd - расширяется при помощи Lua
redis - С/C++/Lua/JavaScript
.....
.....
.....

ИМХО, я лично не сторонник njs и немного скептически отношусь.


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

13. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Алексей (??), 27-Мрт-19, 09:50 
И для nginx тоже есть lua :)
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

17. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от eRIC (ok), 27-Мрт-19, 12:10 
> И для nginx тоже есть lua :)

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

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

14. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Аноним (8), 27-Мрт-19, 09:53 
Комментарий выше как бы намекает, что в исходном сообщении был представлен не анализ произодительности на основе статистики замеров, а исключительно предубеждение автора относительно разницы в произодительности.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

9. "Выпуск nginx 1.15.10 и njs 0.3.0"  –1 +/
Сообщение от Ilya Indigo (ok), 27-Мрт-19, 09:15 
А про модуль для PHP ни чего не слышно?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от eRIC (ok), 27-Мрт-19, 09:31 
> А про модуль для PHP ни чего не слышно?

? первый раз слышу, а для чего?

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

15. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Ilya Indigo (ok), 27-Мрт-19, 10:20 
>> А про модуль для PHP ни чего не слышно?
> ? первый раз слышу, а для чего?

https://www.opennet.me/opennews/art.shtml?num=49643
Обещали, что он будет быстрее чем php-fpm.
Очень интересна его судьба и прочие особенности.

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

18. "Выпуск nginx 1.15.10 и njs 0.3.0"  +2 +/
Сообщение от eRIC (ok), 27-Мрт-19, 12:14 
> https://www.opennet.me/opennews/art.shtml?num=49643
> Обещали, что он будет быстрее чем php-fpm.
> Очень интересна его судьба и прочие особенности.

сторонний модуль к nginx, не шупал и ничего не могу сказать. бенчмарки смотреть надо, да страница описывает разницу от обычного PHP:
What's different with official php

    Global variable is unsafe in per request
    Static variable of a class is unsafe in per request
    Do not design singleton mode
    The native IO function works fine, but it slows down nginx


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

20. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Ilya Indigo (ok), 27-Мрт-19, 12:41 
Описание страшное.
Благодарю!
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

16. "Выпуск nginx 1.15.10 и njs 0.3.0"  +1 +/
Сообщение от KonstantinB (ok), 27-Мрт-19, 12:09 
А зачем он вам?

В nginx можно выполнять только неблокирующие операции. Любой условный mysql_query подвесит весь воркер nginx-а.

Смысл подобных модулей в простейших неблокирующих обработчиках, для которых не хватает встроенных возможностей nginx. Например, полноценно распарсить Accept-Language и сделать соответствующий редирект (регулярками этого полноценно - в полном соответствии с RFC - не сделать). Эти 5-10 строк кода можно написать и на подмножестве js и на lua даже толком не зная этих языков.

Если вам нужно "как fpm, только шустрее", посмотрите в сторону nginx unit.

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

19. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Ilya Indigo (ok), 27-Мрт-19, 12:28 
> А зачем он вам?

Мне бы вообще-то как в Apache-event + PHP7-FastCGI, только по шустрее со статикой.

> В nginx можно выполнять только неблокирующие операции. Любой условный mysql_query подвесит
> весь воркер nginx-а.
> Смысл подобных модулей в простейших неблокирующих обработчиках, для которых не хватает
> встроенных возможностей nginx.

То есть он вообще не замена nginx + php-fpm?

Благодарю, nginx unit, взял на заметку.

P.S. А nginx unit точно шустрее nginx + php-fpm?
Судя по его описанию и назначению - это комбайн с кучей поддерживаемых языков, но про шустрость и речи нигде не шло?

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

21. "Выпуск nginx 1.15.10 и njs 0.3.0"  +2 +/
Сообщение от eRIC (ok), 27-Мрт-19, 13:28 
> P.S. А nginx unit точно шустрее nginx + php-fpm?
> Судя по его описанию и назначению - это комбайн с кучей поддерживаемых
> языков, но про шустрость и речи нигде не шло?

unit с приложением php = nginx + php-fpm, разница в том что в unit нет деление сервера и отдельного стороннего запущенного php-fpm. php приложение в unit выполняется в отдельном своем контексте без обращения к отдельно запущеного php-fpm демона. таких приложений может быть куча, и каждый вариться в своем казане и не мешает друг другу.

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

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

22. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Ilya Indigo (ok), 27-Мрт-19, 13:39 
Благодарю Вас за подробный ответ! :-)
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

29. "Выпуск nginx 1.15.10 и njs 0.3.0"  +1 +/
Сообщение от KonstantinB (ok), 28-Мрт-19, 10:06 
Суть nginx unit в том, что обмен данными между приложением и сервером происходит через shared memory, что несколько быстрее, чем гонять через сокеты.

Сам PHP от этого быстрее, конечно, не станет. :-)

А для статики лучше всего выделить отдельный IP-адрес и субдомен. Впрочем, если у вас нагрузки не как у Фейсбука, лишнего проксирования вы и не заметите (но тогда и со схемой nginx+php-fpm тоже все нормально должно быть).

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

30. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Ilya Indigo (ok), 28-Мрт-19, 10:42 
> Суть nginx unit в том, что обмен данными между приложением и сервером
> происходит через shared memory, что несколько быстрее, чем гонять через сокеты.

Благодарю за ответ, буду пробовать!

> Сам PHP от этого быстрее, конечно, не станет. :-)

PHP7 уже давным давно не является узким местом в быстродействии веб-приложений.

> А для статики лучше всего выделить отдельный IP-адрес и субдомен.

Под статикой я имею ввиду, не только отдельные документы (html, css, js, jpg), но и когда выключен режим PHP (закрыт тег ?>), и я отдаю чистый HTML.
Отделить строго статику, я даже не понимаю как, возможно это и не возможно.
Например загружаемые пользователями картинки, которые отдаваться будут через Apache/nxinx.
С одной стороны это статика, но с другой она должна быть на том же сервере, где и динамика, так нужно иметь возможность загружать и удалять их.
В некоторых JS должны быть определены константы и объекты, через PHP (ID, флаг владельца, языковой словарь, разные списки).

> у вас нагрузки не как у Фейсбука, лишнего проксирования вы и
> не заметите (но тогда и со схемой nginx+php-fpm тоже все нормально
> должно быть).

Да у меня и с Apache-event/php-FastCGI всё нормально, просто знаю, что nginx лучше использует ресурсы сервера, и от него можно добиться больше при минимальных затратах (сменить apache на nginx, но не делать отдельный сервер для статики) (даже если пока это не нужно).

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

24. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от robot228email (?), 27-Мрт-19, 15:44 
Посоветуйте вводную литературу по изучению NGINX.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Выпуск nginx 1.15.10 и njs 0.3.0"  –4 +/
Сообщение от Andrey Mitrofanov (?), 27-Мрт-19, 16:41 
> Посоветуйте вводную литературу по изучению NGINX.

REAMDE.

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

27. "Выпуск nginx 1.15.10 и njs 0.3.0"  +1 +/
Сообщение от eRIC (ok), 27-Мрт-19, 20:24 
> Посоветуйте вводную литературу по изучению NGINX.

https://docs.nginx.com/nginx/admin-guide/installing-nginx/in.../

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

26. "Выпуск nginx 1.15.10 и njs 0.3.0"  –1 +/
Сообщение от Аноним (26), 27-Мрт-19, 19:31 
есть же lua, js не нужен
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "Выпуск nginx 1.15.10 и njs 0.3.0"  +1 +/
Сообщение от тигар (ok), 28-Мрт-19, 23:06 
ладно, а вебинар кто-нить наблюдал? чего будет с nginx теперь, после того как их ф5 купили?
Раньше Emily Turner все рассказывала как при помощи nginx можно избавиться от F5 Big-IP.. А потом вот нежданчик:\
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от eRIC (ok), 29-Мрт-19, 08:36 
> ладно, а вебинар кто-нить наблюдал? чего будет с nginx теперь, после того
> как их ф5 купили?

https://www.youtube.com/watch?v=E5AZ7T5OykU

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

33. "Выпуск nginx 1.15.10 и njs 0.3.0"  +/
Сообщение от Andrey Mitrofanov (?), 29-Мрт-19, 09:24 
> чего будет с nginx теперь,

Вот!!  Это правильный вопрос....

>после того
> как их ф5 купили?

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


18.07.2011 22:28  Игорь Сысоев объявил о создании компании, которая займется развитием nginx
  --https://www.opennet.me/opennews/art.shtml?num=31224

11.10.2011 21:01  Проект Nginx получил $3 млн инвестиций и начал переход к модели Open Core (дополнено)
  --https://www.opennet.me/opennews/art.shtml?num=32009

130     [12.10.2011] Подробности о развитии Nginx в руках коммерческой компании

128     [05.01.2012] Nginx обогнал Microsoft IIS по числу обслуживаемых активных сайтов     

10.04.2013 09:48  Новым руководителем Nginx Inc стал бывший вице-президент Red Hat
  --https://www.opennet.me/opennews/art.shtml?num=36644

112     [27.04.2013] Проект nginx перешёл с использования Subversion на Mercurial

106     [22.08.2013] Nginx выпускает коммерческую версию - Nginx Plus

104     [18.10.2013] Проект Nginx получил инвестиции в размере 10 млн долларов

96     [28.08.2014] Nginx удалён из базовой поставки OpenBSD

93     [10.12.2014] Разработчики nginx получили ещё 20 млн. долларов инвестиций

2     [12.03.2019] Компания F5 Networks поглотила NGINX за 670 млн долларов

Спасибо https://www.opennet.me/keywords/nginx.html за предоставленные.

> Раньше Emily Turner все рассказывала как при помощи nginx можно избавиться от
> F5 Big-IP.. А потом вот нежданчик:\

Эффективные нашли эффективный способ продаться.  Job well done!

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

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

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




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

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