报错原因
ARM架构下安装Nginx并增加对LuaJIT的支持
宝塔面板的 nginx 编译脚本目前是直接忽略 ARM 对 LuaJIT 的支持,这导致了许多依赖 lua 语言的插件失效,比如 Nginx 防火墙、网站监控报表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| cat>/www/server/panel/install/nginx_prepare.sh<<EOL
#!/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 EOL
|
1
| sed -i 's/\r//g' /www/server/panel/install/nginx_prepare.sh
|
1 2 3
| cat>/www/server/panel/install/nginx_configure.pl<<EOL --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module EOL
|
1 2 3
| # Debian/Ubuntu # 手动安装lua5,防止在安装nginx后加载lua引擎出错 apt install lua5* -y
|
最后面板升级一下 nginx 或者终端执行以下命令,安装或升级现有Nginx。
其中 1.20 需要修改成您现在在用的 nginx 版本。
Ubuntu 第一次安装 Nginx 务必使用编译安装(或使用下面的安装命令),极速安装不会调用自定义脚本!
1 2 3 4 5 6
| # 来源:https://www.xeath.cc/2021/08/07/archives-481/ # 未安装Nginx,直接安装 cd /www/server/panel/install && bash install_soft.sh 0 install nginx 1.20 # 已安装Nginx,升级 cd /www/server/panel/install && bash install_soft.sh 0 update nginx 1.20
|
参考自:
甲骨文ARM架构下安装宝塔面板及防火墙 - 让宝塔面板的 Nginx 在 ARM 下也能支持 LuaJIT
nginx: [emerg] unknown directive “lua_shared_dict” in /www/server/panel/vhost/nginx/total.conf:1
让宝塔面板的 Nginx 在 ARM 下也能支持 LuaJIT