热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

可能是头铁吧,最近老是遇上全网查不到解决方案的问题。其他都还好,google一下或许还能搞定,这个错误,google都建议你

可能是头铁吧,最近老是遇上全网查不到解决方案的问题。其他都还好,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,也不是啥大问题,顺手分享下吧。

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


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
author-avatar
东儿2502858537
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有