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

时间:2013-11-11 14:05:26

标签: nginx lua

我正在建立一个正在研究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

让我知道我做错了什么

2 个答案:

答案 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。