甲骨文ARM架构安装BT宝塔无法添加网站报错的解决办法

不少小伙伴是申请了甲骨文免费云主机,之前搬主题也介绍了不少甲骨文云主机的教程,如下:

什么?还没安装免费的BT宝塔面板?点击进行下载安装

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

有的小伙伴都申请了ARM架构的实例,但是却发现兼容性不是很好,特别是安装完BT宝塔面板后,取法添加网站,只要一添加网站就报错。这里搬主题就分享一下甲骨文ARM架构安装BT宝塔无法添加网站报错的解决办法。

1、错误提示

首先,我们一般添加网站的时候,主要指的是环境是Nginx环境的话,都会提示如下错误:

nginx: [emerg] unknown directive "lua_shared_dict" in /www/server/panel/vhost/nginx/total.conf:1
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

如下图所示

这个bug就是安装宝塔防火墙不论是专业版防火墙还是免费防火墙以及安装网站监控报表都会提示,文章开头的错误,然后导致无法正常在BT宝塔面板后台添加网站。

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这两个模块在不在,BT宝塔默认是编译好的,奇怪了,问题还出现,如图:

3)修改nginx.sh

宝塔面板找到路径:/www/server/panel/install找到文件nginx.sh 点击打开开始编辑。

大概在278行,这里可以添加 --add-module=srclib/ngx_devel_kit --add-module=srclib/lua_nginx_module 

如下,最终就是添加了的2个模块后:

./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}/src/openssl --with-pcre=pcre-${pcre_version} ${ENABLE_HTTP2} --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt="-Wl,-E" --with-cc-opt="-Wno-error" ${jemallocLD} ${ENABLE_WEBDAV} ${ENABLE_NGX_PAGESPEED} ${ADD_EXTENSION} ${i_make_args}

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

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

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

4、最后解决

这两个模块编译完成之后,我们再次添加网站等相应操作的话,一切正常,可正常使用。

什么?还没安装免费的BT宝塔面板?点击进行下载安装

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

千百度
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容