热门标签 | 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,也不是啥大问题,顺手分享下吧。

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


推荐阅读
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 观察 | 求职体验:收到录用通知的公司通常不深究技术细节,而那些详细追问的公司往往没有后续进展
    观察 | 求职体验:收到录用通知的公司通常不深究技术细节,而那些详细追问的公司往往没有后续进展 ... [详细]
  • 在腾讯云服务器上部署Nginx的详细指南中,首先需要确保安装必要的依赖包。如果这些依赖包已安装,可直接跳过此步骤。具体命令包括 `yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel`。接下来,本文将详细介绍如何下载、编译和配置Nginx,以确保其在腾讯云服务器上顺利运行。此外,还将提供一些优化建议,帮助用户提升Nginx的性能和安全性。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
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社区 版权所有