Re: lua модуль

Gena Makhomed gmm at csdoc.com
Sat Sep 7 16:51:16 UTC 2013


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