脚本专栏 
首页 > 脚本专栏 > 浏览文章

把Lua编译进nginx步骤方法

(编辑:jimmy 日期: 2025/7/1 浏览:3 次 )

Lua编译进nginx的方法

1、先安装lua-jit,网上说也可以下载lua,不过lua-jit效率比较高,地址:http://luajit.org/download.html
我下的是2.0.3版本的
下载解压后,直接make && make install就可以了,默认安装在/usr/local目录

2、下载ngx devel包
地址:https://github.com/simpl/ngx_devel_kit/tags
注意,这个是一个nginx的扩展,不需要编译

3、下载nginx的lua扩展

https://github.com/openresty/lua-nginx-module/archive/v0.9.8.tar.gz

4、导出两个变量

复制代码 代码如下:
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-<VERSION>

其中LUAJIT表示luajit的安装目录

5、接下来是编译nginx了

复制代码 代码如下:
 ./configure --prefix=/opt/nginxrw --with-http_gzip_static_module --with-http_stub_status_module
--with-http_ssl_module    --add-module=/data/src/lua-nginx-module-0.9.8  
--add-module=/data/src/ngx_devel_kit-0.2.19

其中两个--add-module表示lua的nginx模块和ngx devel包扩展

启动时,可能报某个库的路径找不到:

复制代码 代码如下:
sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

用ldd命令可以看下某个二进制文件的引用的动态库

解决办法:
复制代码 代码如下:
echo "/usr/local/lib" /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

ok,是不是编译成功了呢,开始编写lua脚本吧

上一篇:浅析Lua编程中的异常处理
下一篇:Lua中的文件I/O操作教程
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?