ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lua модуль



On 04.06.2013 20:44, Anton Yuzhaninov wrote:

есть какие-то вещи, которые нельзя сделать с помощью встроенного
perl-модуля, но можно сделать с помощью этого стороннего lua-модуля?

Есть.
Используя встроенный perl можно выполнять операции, которые не
блокируются и имеет очень ограниченный доступ к функциям nginx (см.
http://nginx.org/en/docs/http/ngx_http_perl_module.html#methods)

LUA модуль позволяет делать многое из того, что можно сделать написав
модуль к nginx на C. Например он позволяет делать подзапросы.

Обратная сторона такой гибкости - сложность самого LUA-модуля и как
следствие баги в нём.

но не смотря на возможные баги в нем - почему-то все больше народу
начинают использовать nginx+lua в своих проектах и сервсиах, например:

http://blog.cloudflare.com/cloudflares-new-waf-compiling-to-lua
http://blog.cloudflare.com/pushing-nginx-to-its-limit-with-lua

учитывая, что у lua более простой синтаксис, чем у perl
может быть имеет смысл "из коробки" встроить lua в nginx?

если не сейчас, то может быть в версии nginx 2.0 ?
nginx+lua может быть достойной альтернативой node.js

(по крайней мере, в ядра netbsd и linux этот язык уже встроили -
про linux: http://www.opennet.ru/opennews/art.shtml?num=36991)

lua лучше чем javascript подходит для встраивания в nginx,
вот: http://www.inf.puc-rio.br/~roberto/talks/www2013.pdf

тогда уж точно можно будет программировать "на конфигах nginx".
и модуль rewrite тогда можно будет реализовать используя lua.

Программировать "на конфигах nginx" в общем случае не очень хорошая идея
и в большинстве случаев приводит к запутанным и плохо работающим
конфигах, в которых кроме их писателя никто не разберется.

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

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

"One project that's now almost entirely written in Lua
is the new CloudFlare WAF" - хотя могли и на С написать.

--
Best regards,
 Gena

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


 




Copyright © Lexa Software, 1996-2009.