Nginx、Linux 中的未知指令“content_by_lua_file”

在安装完所有必要的软件,包括 Nginx、Lua、LuaJit 和 openresty 后,一旦启动 Nginx,您会看到以下错误:

unknown directive "content_by_lua_file" in /etc/nginx/sites-enabled/my_site.com

我忘了什么?我在安装 Nginx 时应该启用了 Lua,但是怎么启用呢?

我的脚本将在 LuaJit 上运行,操作系统是 Arch Linux。

点赞
用户4984564
用户4984564

你不需要单独安装 openresty 和 nginx。Openresty 是一个修改过的 nginx,不是库,其可执行文件也称为 nginx。尝试在命令提示符中键入 whereis nginx,看看您的路径中是否有多个可执行文件,很可能您启动的是纯 nginx 而不是 openresty。

除非你想让 openresty 和 nginx 并行运行(其实没有什么好理由,除非是为了满足某些第三方安全标准之类的事情),否则只需卸载 nginx(为了保险起见,还要卸载并重新安装 openresty),然后再试一次。

如果还不行,请尝试调用 nginx -V 并告诉我们它显示的内容。


编辑:

你还可以输入以下命令:

which nginx

查看使用的确切可执行文件是哪个,

ls $(which openresty)

看看它是否是链接到其他地方的符号链接,还是

file $(which openresty)

查看它是一个二进制文件还是运行其他命令的 bash 脚本。

这应该涵盖了最常见的间接引用,并帮助确定哪个 nginx 可执行文件实际上被调用。

同样可以尝试使用上述命令检查是否存在 openresty 可执行文件。

2019-06-24 20:10:56