陈奇网络工作室

如何解决宝塔面板安装防火墙/网站监控报告提示Nginx配置规则错误:未知指令“Lua _ shared _ dict”?

本文的内容

显示

1.

1.错误提示

2.

2.找到原因

3.

3.解决问题

4.

4.最后。

5.

推荐阅读

如何解决宝塔面板/网站监测报告安装的防火墙提示Nginx配置规则错误:未知指令“Lua _ shared _ dict”?宝塔面板最新版本7.9.2真的有点坑。无论使用centos7.6、debian10还是ubuntu20系统安装Pagoda 7.9.2,都可以正常安装Pagoda专业版防火墙和网站监测报告,但是这两个东西就不能正常工作了。如果您重新启动nginx,您将得到以下错误:

nginx: [emerg]未知指令' lua_shared_dict '位于/www/server/panel/vhost/nginx/total . conf:1中

nginx:配置文件/www/server/nginx/conf/nginx . conf测试失败

意识到这个错误真的有点混乱。这个问题不用问,百度上也没有解决方案,宝塔论坛也发帖求助。官方运维部门显然没有意识到7.9.2中的bug,只给出了非常笼统的解决方案。试了一下,并不意外。本文将记录站长是如何解决这个问题的。如果有同样问题的童鞋,可以参考一下。

宝塔服务器面板,一键全能部署管理,送你3188元大礼包,点我领取宝塔服务器面板,一键全能部署管理,送你3188元大礼包,点我领取https://www.bt.cn/? invite _ code=mv 9 kag 5 wywk=

1.错误提示

只有在新安装的pagoda的最新版本是7.9.2的情况下,才会遇到这个bug。具体bug是,安装宝塔防火墙,无论是专业防火墙还是免费防火墙,安装网站监测报告都会在文章开头提示错误。顺便放个图:

2.找到原因

1)官方给我的解决方案如下。当然这个方法可能有用,但是对于大鸟遇到的问题没用。

报错原因是:系统缺少luajit组件,导致nginx使用异常;

解决方法:卸载nginx防火墙/nginx免费防火墙,网站提速(如果没有安装这些插件可以忽略这一步),卸载当前版本的nginx,编译模式下安装一次nginx1.20,编译安装会自动安装luajit组件;

安装nginx后,重新安装之前卸载的插件,就可以正常使用了。

2)问题的症结

这个问题的具体原因是缺少两个nginx模块:ngx_devel_kit和lua_nginx_module。我们可以通过把这两个模块编译成nginx来解决这个问题。但是你最好使用命令:nginx -V?让我们检查一下你的nginx分机。大鸟用这个命令查了一下,发现这两个模块真的没了。

3.解决问题

现在我们已经找到了症结所在,只需要开始编译安装这两个模块。具体方法如下:

1)使用命令检查您的nginx版本号,其中v是小写的。该命令如下所示:

nginx -v

2)进入目录/www/server/nginx/src,查看模块ngx_devel_kit和lua_nginx_module是否可用。宝塔默认编译这两个产品,也就是7.9.2很精彩。一般有,如图所示:

3)修改nginx.sh

宝塔面板找到路径:/www/server/panel/install找到文件nginx.sh,打开开始编辑。大概278行,要不要加?-add-module=src lib/ngx _ devel _ kit-add-module=src lib/Lua _ nginx _ module?看代码就不加了,下划线的地方是我们要加的两个模块:/configure-user=www-group=www-prefix=$ { Setup _ Path } $ { ENABLE _ LUA }-ADD-module=/www/server/nginx/src/NGX _ devel _ kit-ADD-module=/www/server/nginx/src/Lua _ nginx _ module-ADD-module=$ { Setup _ Path }/src/NGX _ cache _ purge-ADD-module=$ { Setup _ Path }/src/nginx-sticky-module-with-OpenSSL=$ { Setup _ Path }

4)因为这两个模块已经默认可用,所以我们可以直接编译。我们回到ssh客户端,使用命令开始编译。根据我们自己的版本,因为大鸟服务器安装的版本是nginx1.20.2,所以我们使用编译命令如下:

sh/www/server/panel/install/nginx . sh install 1.20

5)编译完成后,使用命令:nginx -V查看模块已经编译完成。注意这里的“v”是大写的。

4.最后。

编译好这两个模块,重新安装宝塔防火墙和网站监测报告后,就可以正常使用了。

西部数码代理(chenqinet.cn)是工信部批准的正规老牌云服务商,拥有ISP、云牌照、IDC、CDN全业务资质。自成立以来,二十多年来一直专注于域名注册,虚拟主机云服务器,企业邮箱,企业网站建立等互联网基础服务!

公司开发的云计算平台以便捷、高效、高性价比、意想不到的售后优势占领市场,跻身国内前三的接入服务商,为国内超过50万家网站提供高速稳定的托管服务!先后荣获中国高新技术企业、中国优秀云计算服务商、中国十大IDC企业、中国最受欢迎云服务商等称号!

目前西部数码代理高性能云服务器在售,最低仅售48元!

http://zhuji.chenqinet.cn/cloudhost/

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3