nginx启动报thread.exdata错误的解决方案

可能是头铁吧,最近老是遇上全网查不到解决方案的问题。其他都还好,google一下或许还能搞定,这个错误,google都建议你换openrestry。看来无数人跟openrestry妥协。不扯了,进入正题。

nginx启动时候,正常启动,功能正常但是报错信息如下:

module 'thread.exdata' not found

2022/11/05 11:24:08 [error] 19439#0: failed to run the Lua code for coroutine.wrap(): 2: coroutine.wrap:2: module 'thread.exdata' not found:
        no field package.preload['thread.exdata']
        no file './thread/exdata.lua'
        no file '/usr/share/luajit-2.0.5/thread/exdata.lua'
        no file '/usr/local/share/lua/5.1/thread/exdata.lua'
        no file '/usr/local/share/lua/5.1/thread/exdata/init.lua'
        no file '/usr/share/lua/5.1/thread/exdata.lua'
        no file '/usr/share/lua/5.1/thread/exdata/init.lua'
        no file './thread/exdata.so'
        no file '/usr/local/lib/lua/5.1/thread/exdata.so'
        no file '/usr/lib64/lua/5.1/thread/exdata.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file './thread.so'
        no file '/usr/local/lib/lua/5.1/thread.so'
        no file '/usr/lib64/lua/5.1/thread.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
 

这个嘛,见名知意,缺少了thread.exdata这个模块文件嘛,心想着去度娘下一个放进去也就是了,好家伙,一搜居然没有....唯一一篇同样问题的作者,向openrestry低头了,不过还是本着就问题解问题的原则,获得了thread.exdata模块是openrestry,下了个Openretry的报,巴拉了下OpenRestry

 有找到exdata的线索,所以目光锁定了LuaJIT2.1这个文件,于是决定更新Luajit到Openrestry的版本,https://github.com/openresty/luajit2/ 这个地址自己下哈

下好解压之后,两步命令

make

make install PREFIX=/data/tools/luajit

我给装在了/data/tools/luajit,然后呢,重新编译nginx,不过luajit模块改成了我编译的luajit

--with-luajit-lib=/data/tools/luajit/lib --with-luajit-inc=/data/tools/luajit/include/luajit-2.1/  --with-lua-inc=/data/tools/luajit/include/luajit-2.1/ --with-lua-lib=/data/tools/luajit/lib

到这,我也以为搞定了,然而...想象不到的事情来了,启动依旧报这个错。

于是乎抓耳挠腮好一会,感觉不可能是这个版本的luajit有问题,毕竟Readme可不能瞎写的。

所以怀疑还是前一次版本的lua安装没清理干净,So,干了一件事

 rm -f /lib64/libluajit-5.1.so.2

 sudo ln -s /data/tools/luajit/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

于是乎,故障解决。

分享下吧,可能是全百度唯一一篇解决了该问题并写出来的。当解决之后再回头看,就发现其实原理很简单,报错也很详细,可能那些解决了的大佬不屑于分享吧,不过摔了坑的小伙伴可能就比较难受了。

至于为什么报这个错,还不是你想用lua。你要不编译lua,也遇不上这坑。或者老老实实的上个openrestry。不过个人偏爱tengine,也不是啥大问题,顺手分享下吧。

要是也凑巧解决了你的问题,顺手给个赞呗。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值