Nginx 中的未知指令 "content_by_lua_file",Linux

unknown directive "content_by_lua_file" in Nginx, Linux

安装所有东西后——nginx、Lua、LuaJit、openresty 等——并启动 nginx,我得到这个:

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

我忘记了什么?我在安装 nginx 时应该以某种方式启用 Lua 支持吗?怎么样?

我的脚本将 运行 在 LuaJit 上 OS 是 Arch Linux

不需要单独安装openresty和nginx。 Openresty是修改过的nginx,不是库,它的可执行文件也叫nginx。尝试在命令提示符中输入 whereis nginx 并查看您的路径中是否有多个可执行文件,很可能您会发现您正在启动普通的 nginx 而不是 openresty。

除非你想同时拥有 openresty 和 nginx 运行(这真的没有充分的理由,除非它满足一些 third-party 安全标准或类似的东西),只需卸载nginx(并且是 100%,也卸载并重新安装 openresty),然后重试。

如果还是不行,请尝试拨打 nginx -V 并告诉我们电话内容。


编辑:

您也可以输入

which nginx

确切地查看使用了哪个可执行文件并且

ls $(which openresty)

查看它是否是某个地方的符号链接或

file $(which openresty)

查看它是二进制文件还是运行其他程序的 bash 脚本。

这应该涵盖了最常见的间接寻址,并有助于准确找出 实际上 调用了哪个 nginx 二进制文件。

如果有 openresty 二进制文件,也可以使用上述命令尝试。