起风了

  • 首页
  • 智能●家
    • Android TV
    • 电视盒子
    • 智能媒体中心
    • Emby
    • Kodi
  • 网络设备
    • 家庭网关
    • 存储设备
  • 网站运维
    • 网站建设
    • 网站优化
  • 教程
  • 软件
    • 电视直播
    • 在线影视
  1. 首页
  2. 教程
  3. 正文

解决甲骨文云ARM机器宝塔面板Nginx与Nginx防火墙和网站监控报表冲突报错(个人笔记)

2024年9月4日 748点热度 2人点赞 0条评论

目前ARM架构机型在安装宝塔面板时,宝塔面板的 nginx 编译脚本会直接忽略 ARM 对 LuaJIT 的支持,这导致了许多依赖 lua 语言的插件失效,例如 Nginx 防火墙、网站监控报表,表现就是 nginx 无法启动,出现的错误代码包括但不限于以下两种:
unknown directive "lua_shared_dict"
PANIC: unprotected error in call to Lua API (bad light userdata pointer)

其主要原因是因为宝塔面板在安装Nginx时,判断机器架构为ARM就会直接忽略编译和加载LuaJIT选项;
解决方法就是重新为Nginx编译加载LuaJIT选项,而ARM架构需要LuaJIT版本在2.1以上才能编译成功;
本方法在甲骨文ARM架构下测试,其它服务商的ARM架构应该同样适用,Nginx版本测试过1.18、1.20、1.21、1.22。

另外在宝塔面板首次安装Nginx时务必使用编译安装,极速安装可能会出现错误;

之所以还用宝塔7.7.0版是因为新版暂时无法手动破解,关于新版宝塔面板降级为7.7.0版的教程《宝塔面板降级 7.7.0 版本、开心、汉化 aaPanel 面板》

  • 测试环境:Ubuntu 20.04
  • 宝塔版本:7.7.0
  • 插件版本:Nginx防火墙 8.9.6 / 网站监控报表(旧版)
  • 温馨提醒:其它系统及版本未进行测试,请自行验证,请勿在生产环境下尝试;

创建脚本

在/www/server/panel/install目录下分别新建名为nginx_prepare.sh和nginx_configure.pl两个文件;
并在两个文件中分别填写如下代码:
nginx_prepare.sh

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

wget -c -O LuaJIT-2.1.zip https://github.com/LuaJIT/LuaJIT/archive/refs/heads/v2.1.zip -T 10
unzip LuaJIT-2.1.zip
if [ -e LuaJIT-2.1 ]; then
    cd LuaJIT-2.1
    make linux
    make install
    export LUAJIT_LIB=/usr/local/lib
    export LUAJIT_INC=/usr/local/include/luajit-2.1/
    ln -sf /usr/local/lib/libluajit-5.1.so.2 /usr/local/lib64/libluajit-5.1.so.2
    if [ `grep -c /usr/local/lib /etc/ld.so.conf` -eq 0 ]; then
        echo "/usr/local/lib" >> /etc/ld.so.conf
    fi
    ldconfig
    cd ..
fi
rm -rf LuaJIT-2.1*
Install_cjson

nginx_configure.pl

--add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module

然后将这两个文件设置权限为600,并将所有者设置为root;

在SSH终端输入以下代码:

安装lua5(这一步可以忽略)

apt install lua5* -y

编译安装Nginx

sed -i 's/\r//g' /www/server/panel/install/nginx_prepare.sh

在SSH终端输入以下代码开始更新Nginx并按脚本加载LuaJIT选项:代码中的Nginx版本号需要改为你机器已经安装的Nginx版本,1.18.1即为1.18;1.22.1即为1.22
然后等待更新完成即可;

cd /www/server/panel/install && bash install_soft.sh 0 update nginx 1.22

安装插件

注意:需要首先安装 网站监控报表 ,等待安装完成后再安装 Nginx防火墙;
原因是 Nginx防火墙 需要使用 lua-cjson,但在ARM下更新Nginx时直接编译lua-cjson会失败而安装 网站监控报表 时会默认使用luarocks来安装lua-cjson这就直接解决了此问题;

当然你也可以先安装luarocks在使用luarocks install lua-cjson命令来安装lua-cjson;

以上内容经网络搜索结果后自行整理,部分代码有改动,如介意请自行搜索使用原方法,主要参考https://suntl.com/1104.html


宝塔面板解锁付费插件 — Nginx防火墙、网站监控报表 等

方法一:

打开目录/www/server/panel/class找到并编辑panelplugin.py文件
使用Ctrl+F搜索并找到softList['list'] = tmpList这段代码,在其下方添加如下代码:

                softList['pro'] = 1
        for soft in softList['list']:
            soft['endtime'] = 0

示例:

方法二:

找到并编辑/www/server/panel/data/plugin.json文件

// 解锁付费插件
搜索字符串"endtime": -1全部替换为"endtime": 999999999999

// 解锁授权图标
搜索字符串"ltd": -1, "pro": -1全部替换为"ltd": -1, "pro": 0

其中pro表示专业版,ltd表示企业版;-1表示无授权,0表示永久授权;

找到并编辑/www/server/panel/data/repair.json文件

查找字符串"id": 16将这段修复权限的代码全部删除;

方法三:

找到并编辑/www/server/panel/class/panelPlugin.py文件
使用Ctrl+F搜索并找到softList['list'] = tmpList这段代码,在其下方添加如下代码:

// 解锁专业版
                softList['pro'] = 1
        for soft in softList['list']:
            soft['endtime'] = 0

// 解锁企业版
                softList['ltd'] = 99999999999
        for soft in softList['list']:
            soft['endtime'] = 0

说明
修改完成后重启面板,重启完成后就可以直接安装收费的插件了,Nginx防火墙也可以直接安装使用
安装后界面可能不会显示宝塔专业版或者企业版图标,但实际上你已经获得特权,可以直接安装收费插件。

主要参考https://suntl.com/

标签: 网站建设
最后更新:2024年9月4日

Admin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
最新 热点 随机
最新 热点 随机
无需海外卡,无需签证:亲测国内用户继续交易美股的唯一通道 哪吒监控V1通过宝塔面板反向代理配置教程 解决甲骨文云ARM机器宝塔面板Nginx与Nginx防火墙和网站监控报表冲突报错(个人笔记) Google将发布Google TV Streamer取代 Chromecast,将于 9 月上市 IDM下载器(Internet Download Manager) 最新多语言破解版 Google TV 现已拥有超过 130 个免费频道
无需海外卡,无需签证:亲测国内用户继续交易美股的唯一通道
IPTV 8K:港台电视直播 日本电视 韩国电视 新马电视直播 越南电视 菲律宾电视 全球电视直播 BzIPTV 4K 电视直播软件 UBLIVE破解版/安博TV破解版/全球电视直播APP 想要网站获得更好的排名,这些基础的SEO工作你都做了吗? 关于在VPS上使用宝塔搭建影视网站的防火墙设置问题 怎么做网站效果会更好

COPYRIGHT © 2024 起风了. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang