文章目录
前言
Lua是一种动态类型语言,使用Lua,可以在Nginx中编写自定义的模块和扩展,以满足特定的业务需求。
安装步骤
1.安装必备的Nginx和PCRE软件包
wget http://nginx.org/download/nginx-1.22.0.tar.gz
wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.45.tar.gz
wget https://github.com/openresty/luajit2/archive/refs/heads/v2.1-agentzh.zip
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
wget wget https://github.com/openresty/lua-nginx-module/archive/lua-nginx-module-master.zip
git clone https://github.com/mpx/lua-cjson.git
2.创建Nginx运行的普通用户
useradd -s /sbin/nologin -M nginx
3.解压NDK和lua-nginx-module
tar -xzvf v0.3.0.tar.gz
unzip -q lua-nginx-module-master.zip
4. 安装LuaJIT Luajit是Lua即时编译器。
unzip luajit2-2.1-agentzh.zip
cd luajit2-2.1-agentzh
make && make install
5. 安装cjson库
cd lua-cjson-2.1.0
vi Makefile
#修改默认luajit地址
LUA_INCLUDE_DIR = /usr/local/include/luajit-2.1/
make && make install
6.安装Nginx并加载模块,如果之前安装了Nginx,仍然需要重新编译加载模块,并重启
tar -xzxf nginx-1.22.0.tar.gz
tar -xzvf pcre-8.45.tar.gz
cd nginx-1.22.0
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.1
#查看当前对应configure,增加待安装模块
./configure --user=xxx --group=xxx --with-pcre=/usr/local/src/pcre-8.45 --add-module=/usr/local/src/ngx_devel_kit-0.3.0/ --add-module=/usr/local/src/lua-nginx-module-master/
make && make install
ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2
7. 测试安装
安装完毕后,下面可以测试安装了,修改nginx.conf 增加以下配置。
location /hello {
default_type 'text/plain';
content_by_lua 'ngx.say("hello,lua")';
}
/usr/sbin/nginx -t
/usr/sbin/nginx
curl 127.0.0.1:port/hello
总结
以上便是Nginx安装Lua模块的具体步骤,欢迎大家指点讨论。