3

我有一个已经在 nginx 上工作的网站。
nginx conf文件在/etc/nginx.conf文件夹中。
现在我想将 lua 集成到那个项目中,所以我安装了 Openresty 。我按照文档中的说明创建了一个名为“work”的文件夹。网站按照说明在端口 8080 上运行良好。
现在我想在我的 /etc/nginx/nginx.conf 文件中使用相同的代码。就像我可以在那里使用像'content_by_lua'这样的语句。我无法配置它。我得到以下错误。

启动 nginx: nginx: [emerg] 未知指令 "content_by_lua" 在 /etc/nginx/nginx.conf:25
nginx:配置文件 /etc/nginx/nginx.conf 测试失败

让我知道我做错了什么

4

2 回答 2

2

我从同一点开始。有 nginx,有 lua,安装了 openresty 并从那里开始。我得到了完全相同的错误。在花了相当多的时间,试图让 openresty 包与我的 nginx 安装配合得很好之后,我发现卸载 nginx 并继续使用 openresty 的 nginx 是最简单的。只需备份您当前的 nginx.conf 和任何 vhost 文件。

在安装 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-20T16:09:15.503 回答
1

该错误表明您的 nginx 未使用正确的模块进行编译。

尝试输入nginx -V以查看您的 nginx 是否配置了nginx_lua_module

也许你应该找出 openresty nginx 在哪里,并使用这个 nginx 而不是默认的。

于 2013-11-12T04:56:31.520 回答