OpenResty:使用已给定的/etc/nginx/nginx.conf文件配置lua。

我已经有一个正在使用nginx运行的网站。

nginx配置文件在/etc/nginx.conf文件夹中。

现在,我想将lua集成到该项目中,因此我安装了Openresty。 根据文档的指示,我创建了一个名为“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

让我知道我做错了什么。

点赞
用户2457827
用户2457827

错误提示显示你的 nginx 没有编译正确的模块。

尝试输入 nginx -V 查看你的 nginx 配置是否包含了 nginx_lua_module

也许你应该找到 openresty nginx 的位置并使用该 nginx,而不是默认的。

2013-11-12 04:56:31
用户5212550
用户5212550

我从同一个起点开始。拥有 nginx 和 lua,安装了 openresty,然后开始操作。我遇到了同样的错误。花费了相当长的时间,试图使 openresty 包与我的 nginx 安装相容,但我最后认为最简单的方法是卸载 nginx 并只用 openresty 的 nginx。只要备份当前的 nginx.conf 和任何虚拟主机文件即可。

安装 openresty 时,我确保包括 --with-luajit 选项。进行 “hello, world” 的测试,一切都顺利。我最大的抱怨是不能像以前一样作为服务启动和停止 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“。

2015-11-20 16:09:15