Re: javascript in nginx

2016-04-30 Пенетрантность nikolay.matsievsky
How to operate with response.body ? Need to change it via JS, not Lua.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,261794,266547#msg-266547

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-10-20 Пенетрантность Anton Yuzhaninov

On 09/23/15 21:53, Igor Sysoev wrote:

Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а.


Полезно было бы в JS-интерфейсе к nginx иметь возможность:

1. прочитать произвольный локальный файл (аналог sysread в перле)
2. ngx_http_map_uri_to_path() - в ngx_http_perl_module это $r->filename
3. отдать кусочек заданного файла текущим сконфигурированным методом (например 
через sendfile если в данном location действует директива senfile on).


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-28 Пенетрантность Валентин Бартенев
On Friday 25 September 2015 13:41:44 denis wrote:
> 24.09.2015 20:11, Gena Makhomed пишет:
> >
> > Средний сайт только за хостинг в год платит $1500/yr
> > или даже больше, так что цены там не очень большие.
> "средний сайт" за хостинг платит 30-50 долларов, даже если это 
> выделенный сервер, спасибо хецнеру. И даже если аренда юнита - мы платим 
> по 3к за юнит, по курсу 65р это что-то около 40 долларов. И увеличивать 
> расходы в 4 раза только ради прокси... оно того не стоит, совсем. 
> Профильных сайтов, кому нгинх реально нужен как воздух - процентов 5 в 
> "средних сайтах", если не 1% вообще. Всякие крупные видеохостинги и проч 
> - другая сфера.
> 
> > Учитывая то, насколько Lua-модуль кривой и сложный,
> > - такая цена $1500/yr вполне оправдана за его поддержку.
> $15/y - за модуль я ещё могу понять и даже обосновать, но даже 150 оно 
> не стоит вообще.
> 
> Про кривость пожалуйста подробнее.
[..]

Факт: объем кода только одного лишь Lua-модуля составляет четвертую
часть NGINX со всеми 60+ модулями, включая mail и stream.

Количество хаков там таково, что различные части модуля ломаются чуть
ли не каждый новый релиз.  Вот недавно модуль в очередной раз сломался
от замены SPDY на HTTP/2, ибо содержит соответствующие вставки.

И 46 (!) новых директив - это совсем не то, что хочется видеть в
качестве легкого и понятного интерфейса.

 
> Более того, он уже есть и бесплатен, потому что написан даже не командой 
> нгинха, а командой китайцев из taobao. Продавать его после этого было бы 
> свинством. Собственно, там он уже и отлажен и проверен, на действительно 
> хайлоаде.
[..]

http://www.youtube.com/watch?v=mjq1YDaPxt8

--
Валентин Бартенев
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-28 Пенетрантность Валентин Бартенев
On Thursday 24 September 2015 00:07:46 Михаил Монашёв wrote:
> Здравствуйте, Igor.
> 
> А  как  текущая  иерархия  у  $r  (ответ  -  это объект запроса) будет
> работать  с  HTTP  v2?  Если я правильно понимаю, то в HTTP v2 есть не
> только  запрос  и  ответ.  Возможна и посылка данных, которые никак не
> связаны  с  запросом, а привязаны к соединению.
[..]

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

--
Валентин Бартенев
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-25 Пенетрантность Vadim A. Misbakh-Soloviov
Прошу прощения, но два момента, которые мне режут глаз:


> нгинх
eNGINe X

Как вы произносите ити свои "нгинхи" и не ломаете язык — я, вот, сколько не 
бьюсь, понять не могу. Буквосочетания совсем не естественные.


> командой китайцев из taobao.

Не сотря на то, что писаться он начинал там, сейчас у TaoBao свой форк NgX и 
Lua там постольку поскольку. А товарищи, которые пилят Lua-модуль (и 
NginX'овый бандл OpenResty) работают в CloudFlare.



-- 
Best regards,
mva


signature.asc
Description: This is a digitally signed message part.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-25 Пенетрантность denis

24.09.2015 20:11, Gena Makhomed пишет:


Средний сайт только за хостинг в год платит $1500/yr
или даже больше, так что цены там не очень большие.
"средний сайт" за хостинг платит 30-50 долларов, даже если это 
выделенный сервер, спасибо хецнеру. И даже если аренда юнита - мы платим 
по 3к за юнит, по курсу 65р это что-то около 40 долларов. И увеличивать 
расходы в 4 раза только ради прокси... оно того не стоит, совсем. 
Профильных сайтов, кому нгинх реально нужен как воздух - процентов 5 в 
"средних сайтах", если не 1% вообще. Всякие крупные видеохостинги и проч 
- другая сфера.



Учитывая то, насколько Lua-модуль кривой и сложный,
- такая цена $1500/yr вполне оправдана за его поддержку.
$15/y - за модуль я ещё могу понять и даже обосновать, но даже 150 оно 
не стоит вообще.


Про кривость пожалуйста подробнее.

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


Проблема в том, что модуль нужен, как минимум как thread-safe, быстрый, 
и с дополнительными плюшками вроде лёгкого парсинга post. Также с ним 
можно выкинуть ряд левых модулей типа всяких echo.


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-24 Пенетрантность Vadim A. Misbakh-Soloviov
> Лучше бы на lua это время потратили.

А зачем его тратить, если Yichun Zhang уже всё сделал и всё прекрасно 
работает?

// А вот если бы Lua-модуль взяли "в коробку", это, да, было бы хорошо (но и 
онтопик не в коробке, смею заметить)


-- 
Best regards,
mva


signature.asc
Description: This is a digitally signed message part.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-24 Пенетрантность Aleksandr Sytar
24 сентября 2015 г., 17:17 пользователь Gena Makhomed 
написал:

> On 24.09.2015 10:05, Vadim A. Misbakh-Soloviov wrote:
>
> Лучше бы на lua это время потратили.
>>>
>>
>> А зачем его тратить, если Yichun Zhang уже всё сделал и всё прекрасно
>> работает?
>>
>> // А вот если бы Lua-модуль взяли "в коробку", это, да, было бы хорошо
>> (но и
>> онтопик не в коробке, смею заметить)
>>
>
> Lua-модуль уже есть "в коробке" nginx-plus-extras
>
> https://www.nginx.com/products/technical-specs/
>
> правда цены там...  $1500/yr


Так там не за модули берут, а за саппорт - чтобы модуль работал как надо
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-24 Пенетрантность Gena Makhomed

On 24.09.2015 10:05, Vadim A. Misbakh-Soloviov wrote:


Лучше бы на lua это время потратили.


А зачем его тратить, если Yichun Zhang уже всё сделал и всё прекрасно
работает?

// А вот если бы Lua-модуль взяли "в коробку", это, да, было бы хорошо (но и
онтопик не в коробке, смею заметить)


Lua-модуль уже есть "в коробке" nginx-plus-extras

https://www.nginx.com/products/technical-specs/

правда цены там...  $1500/yr

--
Best regards,
 Gena

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-24 Пенетрантность Konstantin Tokarev


24.09.2015, 21:03, "Vadim A. Misbakh-Soloviov" :
> А как Вы думаете, зачем в 1.9 (возможно, уже в .6, хотя не берусь
> предсказывать) хотят сделать динамические модули? :D

Чтобы пользователи поломали голову, почему после обновления nginx вдруг
начал падать (например, потому что установленные сторонние модули были
собраны с предыдущей версией)

-- 
Regards,
Konstantin

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-24 Пенетрантность Gena Makhomed

On 24.09.2015 17:41, Aleksandr Sytar wrote:


А вот если бы Lua-модуль взяли "в коробку", это, да,
было бы хорошо (но и онтопик не в коробке, смею заметить)


Lua-модуль уже есть "в коробке" nginx-plus-extras

https://www.nginx.com/products/technical-specs/

правда цены там...  $1500/yr


Так там не за модули берут, а за саппорт - чтобы модуль работал как надо


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

Средний сайт только за хостинг в год платит $1500/yr
или даже больше, так что цены там не очень большие.

Учитывая то, насколько Lua-модуль кривой и сложный,
- такая цена $1500/yr вполне оправдана за его поддержку.

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

Например, если кому-то нужен только модуль реализующий
статистику http://demo.nginx.com/status.html и не нужны
все остальные модули и функциональность из nginx-plus
- покупать статистику за $1500/yr будет слишком дорого.

Есть открытый модуль для сбора статистики о работе nginx
https://github.com/nginx-modules/ngx_http_json_status_module
но там пока что реализованы не все возможности, которые есть
в nginx-plus. Возможно доделать этот открытый модуль до
полнофункционального состояния - только вопрос времени?

Интересным для пользователей вариантом было бы открыть
модуль статистики и перенести его из nginx-plus в nginx,
- ведь вряд ли это есть основной модуль из-за которого
люди покупают поддержку, так что revenue от открытия
этого модуля по идее не должно очень сильно упасть.

P.S.

В OpenVZ приняли решение использовать интересную модель
- базовая версия Virtuozzo 7 будет полностью бесплатной
и свободно доступной всем желающим, а платную функциональность
можно будет докупать отдельными модулями по мере необходимости:

http://blog.odin.com/serviceprovider/2015/7/14/coming-soon-a-more-open-platform-for-openvz
Coming Soon: A More Open Platform for OpenVZ

http://habrahabr.ru/company/parallels/blog/259385/
Зачем мы открыли код Virtuozzo

Для OpenVZ - это точно имеет смысл, потому что лучше
им иметь пользователей, которые купять некоторе фичи,
чем не купят вообще ничего и будут использовать полностью
бесплатный и полностью открытый вариант OpenVZ, потому что
полная версия стоит слишком дорого и 80-90% функциональности
платной версии всем не нужно, а ради тех 10-20% переплачивать
столько денег просто нет смысла и проще будет использовать OpenVZ.

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

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

--
Best regards,
 Gena

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-24 Пенетрантность Vadim A. Misbakh-Soloviov
А как Вы думаете, зачем в 1.9 (возможно, уже в .6, хотя не берусь 
предсказывать) хотят сделать динамические модули? :D

signature.asc
Description: This is a digitally signed message part.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

javascript in nginx

2015-09-23 Пенетрантность Igor Sysoev
Сегодня на конференции nginx.conf/2015 мы объявили о выпуске
предварительной версии javascript в nginx’е.

Репозитарий:
http://hg.nginx.org/njs/
Примеры использования:
https://www.nginx.com/blog/launching-nginscript-and-looking-ahead

Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а.


-- 
Igor Sysoev
http://nginx.com
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-23 Пенетрантность Daniel Podolsky
> А вот сам тренд, приведший JavaScript в серверную часть — мне, всё-таки,
> странен.
V8 - хорошая VM
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-23 Пенетрантность Andrey Oktyabrskiy

On 09/23/2015 09:53 PM, Igor Sysoev wrote:

Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а.

Лучше бы на lua это время потратили.

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, Igor.

> Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а.

Было бы интересно иметь возможность смотреть, во что преобразуется
написанный код. Судя по
http://hg.nginx.org/njs/file/157dc59dae36/njs/njs_disassembler.c он
вполне читаем. Может на нём и писать можно? :-)

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, Igor.

> Репозитарий:
> http://hg.nginx.org/njs/
> Примеры использования:
> https://www.nginx.com/blog/launching-nginscript-and-looking-ahead

> Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а.

В примерах вместо return s; пишется просто s; , что не очень наглядно.
Сложно глазами найти места, где происходит выход и возврат значения. В
примерах,  да  и  вообще,  ИМХО  возврат  значения лучше писать явно с
return .

$r.method   выглядит  по  перловому  как-то.  :-)  Вариант  с  заранее
предопределёнными  переменными  req  и  resp  тоже не очень, но в Ноде
такие имена прижились и понятны.

Было  бы  удобно весь код скрипта заключать не в двойные кавычки, а то
помнить,  что надо писать \" в коде неудобно. Хотя это по синтаксису и
совместимо  с синтаксисом конфига, но именно программировать геморно и
будет  вести  к  ошибкам.  Может предусмотреть ещё какой-то символ для
задания  начала  и  конца  значения  в конфиге? Например, те же {} тут
будут более чем уместны и понятны.

Было бы здорово, наверное, писать что-то вроде
js_set scripts/set_headers.js
js_run scripts/print_headers.js

Тут  http://hg.nginx.org/njs/file/11d4d66851ed/README  видимо  ошибка:
res.contentLength = 11; , ибо дли ответа не 11 байт.

В какой кодировке пишутся скрипты?

Какие функции из обычного JavaScript-а поддерживаются?

Будет  ли язык упрощённым JS-ом или может пойти в сторону Go или Dart,
например?

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

Вообще,  это  конечно  прорыв.  И  то, что пишется своя VM - это очень
правильно.  И  язык  выбран  тоже правильно. В JS подкупает простота и
популярность.  Я  очень  боялся,  что  выйдет Нода, которая из гомна и
палок. И рад, что вышло иначе. Вышел nginx. :-)

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, Igor.

А ещё примеры конфигов с кодом nginscript есть? Судя по исходникам там
куча всего реализовано, но не всё из JavaScript-а вроде.

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: javascript in nginx

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, Igor.

А  как  текущая  иерархия  у  $r  (ответ  -  это объект запроса) будет
работать  с  HTTP  v2?  Если я правильно понимаю, то в HTTP v2 есть не
только  запрос  и  ответ.  Возможна и посылка данных, которые никак не
связаны  с  запросом, а привязаны к соединению. И даже если я ошибаюсь
по  поводу HTTP v2, то в будущем будет именно так: соединение, по нему
одновременно  идёт  много  пачек  данных  в одну сторону и много пачек
данных  в  другую  сторону.  И все они могут иметь, а могут и не иметь
связи.   Например,  по  таймауту  что-то  шлётся  в  браузер.  Или  по
стороннему событию: пришло новое сообщение в чат.

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru