作为一项学习练习,我花了一些时间通过创建一些基本应用来获取Lua。我已经在Natty / Ubuntu上安装并运行得很好了,但是,我对如何让它与nginx玩得很好有点迷失。
我在这里读了一下http://wiki.nginx.org/HttpLuaModule#Installation 并将此repo https://github.com/chaoslawful/lua-nginx-module克隆到我的/ etc / nginx文件夹中......
然而,我仍然相当迷失,并且不确定如何在基本水平上使其工作。是否可以在我的nginx.conf文件中包含一些内容来处理/ lua请求,或者我是否需要重新编译/重新安装nginx? (我宁愿避免这种情况)。
我已经通过fpm在nginx下使用php了很长一段时间,但我真的不知道从哪里开始让Lua以类似的方式工作。
答案 0 :(得分:9)
ngx_lua模块用于直接在nginx webserver中运行Lua代码。可以以这种方式运行整个Lua应用程序,但这不是该模块的特定目标。实际上,某些模块指令不应该用于长时间运行或复杂的例程。
您需要使用此模块重新编译Nginx,因为您不能只下载Nginx模块并使用它。
要运行类似于运行PHP的方式的Lua应用程序,可以配置nginx将“.lua”请求传递给Lua处理程序(类似于PHP)。
您可以设置{@ 3}}等网络服务器 或the Lua webserver, xavante甚至Apache和“proxy_pass”对此类似 Apache for PHP有多少。
您可以将Lua设置为以CGI格式运行(类似于使用FastCGI的PHP) 虽然Lua没有相应的FPM)并称之为 需要的。
对于这两个选项中的任何一个,您都不需要ngx_lua。
基本上,PHP,Lua等属于“CGI”脚本的广泛类别,运行这些脚本的任何“如何”都可以应用于Lua。
BTW openresty只是常规的Nginx,其中捆绑了一些第三方模块,包括ngx_lua,而openresty背后的人在ngx_lua背后也是如此。
您可以根据需要自行手动将相同的捆绑模块添加到Nginx。
答案 1 :(得分:6)
我没有尝试使用官方的nginx发行版,但使用OpenResty(http://openresty.org/)
这很容易请参阅“使用入门”页面,以便对其进行简单的nginx.conf
测试。
答案 2 :(得分:3)
在ubuntu中,只需安装nginx-extras即可将lua模块用于nginx。
答案 3 :(得分:0)
您需要下载三个模块并重新编译nginx。 这里是您需要执行的命令
./configure --prefix=/usr/local/nginx --add-module=../ngx_devel_kit/ --add-module=../lua-nginx-module/
make
make install
之后,您可以在nginx.conf文件中使用lua开始使用