我正在建立一个正在研究nginx的网站
nginx conf文件位于/etc/nginx.conf
文件夹中
现在我想将lua集成到该项目中,所以我安装了Openresty。
我根据doc中的说明创建了一个名为“work”的文件夹。根据说明,网站在8080端口正常工作。
现在我想在/etc/nginx/nginx.conf文件中使用相同的代码。
就像我可以在那里使用'content_by_lua'这样的陈述。
我无法配置它。
我收到了以下错误。
Starting nginx: nginx: [emerg] unknown directive "content_by_lua" in /etc/nginx/nginx.conf:25 nginx: configuration file /etc/nginx/nginx.conf test failed
让我知道我做错了什么
答案 0 :(得分:2)
我从同一点开始。有nginx,有lua,安装openresty并从那里去。我得到了完全相同的错误。在花了相当长的时间之后,尝试使用我的nginx安装使openresty软件包很好用,我发现卸载nginx最简单,只需使用openresty的nginx即可。只需备份当前的nginx.conf和任何vhost文件。
安装openresty时,我确保包含--with-luajit选项。建立一个"你好,世界"测试,一切都很好。我最大的抱怨是无法启动和停止nginx作为服务。问题是openresty安装中缺少init.d文件。幸运的是我碰到了这个:
https://groups.google.com/forum/#!topic/openresty-en/7UOz-y77CY4
只需将名称更改为openresty(而不是openresty.init.d)并放在/etc/init.d/中(假设为Ubuntu)。并以 sudo service openresty start
开始/停止/重新加载答案 1 :(得分:1)
错误显示您的nginx未使用正确的模块进行编译。
尝试输入nginx -V
以查看您的nginx是否配置了nginx_lua_module
也许你应该找出openresty nginx的位置并使用这个nginx而不是默认的nginx。