原创技术类

让 ARM 平台下的宝塔面板为 Nginx 编译支持 LuaJIT 和 lua-cjson

本文阅读 1 分钟
首页 技术类 正文

由于最近 Qostoz 大佬给了台 arm64 的虚拟机,装了宝塔面板和 Nginx 以后不能使用 WAF 防火墙功能。

lls42n7b.png

查遍了网上的教程得知 Nginx 报 unknown directive “lua_shared_dict” (nginx: [emerg] unknown directive "lua_shared_dict" in /www/server/panel/vhost/nginx/total.conf:1nginx: configuration file /www/server/nginx/conf/nginx.conf test failed)错误是由于 Nginx 没编译LuaJIT和lua-cjson造成的。换来换去还是没法支持,最后摸索了下得出以下方法供 aarch64 平台参考。

添加预处理编译文件

以下命令在SHELL中执行

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*
if [ ! -f /usr/local/lib/lua/5.1/cjson.so ];then
                wget -O lua-cjson-2.1.0.tar.gz http://download.bt.cn/install/src/lua-cjson-2.1.0.tar.gz -T 20
                tar zxvf lua-cjson-2.1.0.tar.gz
                rm -f lua-cjson-2.1.0.tar.gz
                cd lua-cjson-2.1.0
                make
                make install
                cd ..
                rm -rf lua-cjson-2.1.0
                ln -sf /usr/local/lib/lua/5.1/cjson.so /usr/lib64/lua/5.1/cjson.so
                ln -sf /usr/local/lib/lua/5.1/cjson.so /usr/lib/lua/5.1/cjson.so
fi
EOL
sed -i 's/\r//g' /www/server/panel/install/nginx_prepare.sh

最新版nginx添加编译选项

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

编译最新版nginx

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

来源:
https://www.bt.cn/bbs/thread-73777-1-1.html

原创文章,作者:nyarime,如若转载,请注明出处:https://blog.naixi.net/article/bt-panel-luajit-on-arm
-- 展开阅读全文 --
无职转生:ZihanGu 与 KooriMoe 的前世今生
« 上一篇 08-19
9月的迎来事多
下一篇 » 09-03
发表评论

热门文章

标签TAG

热评文章