宝塔nginx解决没有载入luajit导致ffi模块没有的问题。

原因

最近想用宝塔的nginx去载入lua实现灰度发布、降级限流的功能,虽然用openresy都是可以的,但是到了宝塔上面各种报错,换个web中间件显然不可能,所以要解决下!

具体步骤

1、因为宝塔的nginx编译的时候可以默认有加载lua吧,所以我安装玩luajit后,发现可以在nginx上嵌入lua脚本了,但是打印

if jit then
        ngx.say('luajit:' .. jit.version)
else
        ngx.say('lua:'_VERSION)
end

很明显,我打印出来的是下面这个,说明目前nginx没有支持luajit,所以导致我使用限流插件lua-resty-limit-traffic的时候报错,ffi.lua找不到!

2、所以现在的思路不是重新编译,而是替换nginx原来指向的lua,换成luajit。具体操作如下!

#保留一下原来的两个文件
sudo mv /usr/lib64/liblua-5.1.so /usr/lib64/liblua-5.1.so.old
sudo mv /usr/lib64/liblua.so /usr/lib64/liblua.so.old
#然后将新的luajit文件替换原来的
sudo cp /usr/local/luajit/lib/libluajit-5.1.so.2 /usr/lib64/liblua-5.1.so
sudo ln -s /usr/lib64/liblua-5.1.so  /usr/lib64/liblua.so

3、然后重启服务器搞定!

4、参考文章nginx+lua环境报错lua: module ffi not found:的完美解决方法-04007技术笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值