我是nginx的新手,lua .i安装了Openresty。 下面是我在nginx.conf文件中的代码。
server{ location /hellolua { default_type 'text/plain'; content_by_lua ' local name = ngx.var.arg_name or "Anonymous" ngx.say("Hello, ", name, "!") '; } }
当我正在运行时
sudo service nginx start我收到错误
Starting nginx: nginx: [emerg] unknown directive "content_by_lua" in /etc/nginx/nginx.conf:24 nginx: configuration file /etc/nginx/nginx.conf test failedt请让我知道我错过了什么。
答案 0 :(得分:5)
在我看来,好像你还没有安装正确的模块? ngx_lua(http://wiki.nginx.org/HttpLuaModule)
你提到OpenResty。你用lua配置了吗?如果没有,指南就在这里(http://wiki.nginx.org/HttpLuaModule#Installation) 快速简历:
ngx_openresty软件包可用于安装Nginx,ngx_lua,标准Lua 5.1解释器或LuaJIT 2.0之一,以及强大的配套Nginx模块包。基本安装步骤很简单
./configure --with-luajit && make && make install.
您也可以手动将ngx_lua编译成nginx,完整指南也在链接中。
在评论讨论之后 - 我删除了答案的无关部分。
答案 1 :(得分:3)
默认情况下,OpenResty的nginx安装在路径/usr/local/openresty/nginx/sbin/nginx
中。系统的默认nginx init配置需要更新才能指向正确的位置。