LNMP环境安装OpenResty的lua扩展方法(使用自定义编译的方法,waf测试可用)

[ 2020-11-16 11:29:15 | 作者: admin ]
字号: | |
p.s. LNMP1.5以后,已经加了编译参数,打开后再编译可以直接让nginx支持lua。但是1.5之前的版本需要手动编译支持lua扩展。相关模块的版本可以自己寻找替换为最新的版本
对于LNMP1.5以后版本,打开目录下lnmp.conf,确认其中Enable_Nginx_Lua项,然后运行upgrade.sh选择nginx重新编译即可
Enable_Nginx_Openssl='y'
Enable_Nginx_Lua='y'
Enable_Swap='y'

非LNMP环境可以参考下文:
    Nginx + Lua 搭建网站WAF防火墙 https://www.cnblogs.com/dotnetcrazy/p/11306202.html


老左收到一封网友的邮件,提到如何在LNMP(军哥一键WEB安装包)安装OpenResty的lua扩展的问题。一般网站WEB环境安装lua比较少,如果是oneinstack一键包环境是可以直接选择安装OpenResty的,但是LNMP是没有直接自动安装。

老左看到论坛( https://bbs.vpser.net/thread-14061-1-1.html )中有提到解决方法,老左按照这个方法在测试机环境中安装测试没有问题,所以将此方法也一并记录下来。如果我们有需要在LNMP环境中安装OpenResty的lua扩展可以参考使用。但是,一定要记住我们需要将已有的生产环境备份好,以免出现问题需要及时的还原以寻求其他的办法。

第一、快速编译和安装 http://luajit.org/download.html
 


         cd /root
         wget -c http://luajit.org/download/LuaJIT-2.0.5.tar.gz
         tar zxf LuaJIT-2.0.4.tar.gz
         cd LuaJIT-2.0.4
         make
         make install PREFIX=/usr/local/luajit
         cd ..

         wget -c https://github.com/openresty/lua-nginx-module/archive/v0.10.5.tar.gz
         tar zxf v0.10.5.tar.gz

         wget -c https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
         tar zxf v0.3.0.tar.gz

         export LUAJIT_LIB=/usr/local/luajit/lib
         export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0

         cat > /etc/ld.so.conf.d/luajit.conf<<EOF
         /usr/local/luajit/lib
         EOF

         ldconfig
attachments/202011/16_113308_lnmplua1.jpg



第二、编辑配置文件 lnmp.conf

在文件里Nginx_Modules_Options 加上:
--with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/root/lua-nginx-module-0.10.5 --add-module=/root/ngx_devel_kit-0.3.0

第三、重新升级Nginx upgrade.sh
attachments/202011/16_113444_lnmplua2.jpg

执行升级选择nginx,这里还是直接用当前的版本。升级完毕之后看到:
attachments/202011/16_113515_lnmplua3.jpg


升级Nginx完毕之后,至少在老左的测试环境中是没有问题的。

这样,我们就可以在LNMP环境中安装OpenResty的lua扩展。

本文来自链接: https://www.laozuo.org/11568.html | 老左笔记




安装后的相关问题
========================================================
1、
   [alert] detected a LuaJIT version which is not OpenResty's; many optimizations will be disabled and performance will be compromised (see https://github.com/openresty/luajit2 for OpenResty's LuaJIT or, even better, consider using the OpenResty releases from https://openresty.org/en/download.html)
让我不要用这个luajit版本,可以用openresty提供的luajit优化版本,或者干脆直接用openresty。解决办法是卸载原来的luajit,安装https://github.com/openresty/luajit2的版本。


2、
nginx: [error] lua_load_resty_core failed to load the resty.core module
说resty.core模块找不到。解决办法是在nginx.conf 中的 http{}模块中加入下面这行代码:
lua_load_resty_core off;
[最后修改由 admin, 于 2021-12-13 11:36:53]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2730

这篇日志没有评论。

此日志不可发表评论。