searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

nginx + lua配置和使用

2023-08-24 03:07:00
28
0

开始前一定要切到root下否则后面export环境变量不会被识别。

Step1: 安装Lua(版本号:2.0.5) 

wget -c 源地址:/download/LuaJIT-2.0.5.tar.gz
tar -xzvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make install PREFIX=/usr/local/LuaJIT

 

Step2: 安装nginx lua模块

先在nginx根目录下创建一个名为module的文件夹便于管理

(1)下载lua-nginx-module模块

mkdir module
cd module/
wget -c 源地址:/lua-nginx-module/tar.gz/v0.10.14
tar -xzvf v0.10.14 

(2)下载ngx_devel_kit模块(一个拓展nginx服务器核心功能的模块,第三方模块开发可以基于它来快速实现。 NDK提供函数和宏处理一些基本任务,减轻第三方模块开发的代码量)

cd module/
wget -c 源地址:/simplresty/ngx_devel_kit/tar.gz/v0.3.1
tar -xzvf v0.3.1 

Step3: 添加设置luaJit的环境变量

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

Step4: nginx升级

在配置lua后需要对原有的nginx进行升级后方可配置生效:

cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/nginx/module/ngx_devel_kit-0.3.1 --add-module=/usr/local/nginx/module/lua-nginx-module-0.10.14
make
make install

配置的时候不要忘记之前add-module的配置,第一遍安装时因为忘了加原先配过的rtmp,导致大量报错,因此实际的真实配置是:

./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/home/troubleach/nginx-rtmp-module --add-module=

替换原有nginx

cd objs
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp nginx /usr/local/nginx/sbin/nginx

若此时启动nginx:

/usr/local/nginx/sbin/nginx时报错

error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

说明编译时没有生成动态链接库,只能手动链接,编辑静态配置文件:

vim /etc/ld.so.conf.d/usr_local_lib.conf

并添加lua静态依赖库:

/usr/local/LuaJIT/lib

保存:

ldconfig

编辑nginx配置文件,定义lua库路径:

http{
    ...
        
       lua_package_cpath '/usr/local/LuaJIT/lib/lua/5.1/?.so;;';
       lua_package_path '/usr/local/LuaJIT/share/luajit-2.0.5/resty/?.lua;;'; 
        
    ...
    server{
        ...
    }
}

将nginx绝对路径配置到bin目录:

cp /usr/local/nginx/sbin/nginx /usr/local/bin/nginx 

此时再查看nginx版本,发现lua模块和devel kit都已经被配置进去了则说明配置成功。

0条评论
作者已关闭评论
Mr. 油
89文章数
0粉丝数
Mr. 油
89 文章 | 0 粉丝
原创

nginx + lua配置和使用

2023-08-24 03:07:00
28
0

开始前一定要切到root下否则后面export环境变量不会被识别。

Step1: 安装Lua(版本号:2.0.5) 

wget -c 源地址:/download/LuaJIT-2.0.5.tar.gz
tar -xzvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make install PREFIX=/usr/local/LuaJIT

 

Step2: 安装nginx lua模块

先在nginx根目录下创建一个名为module的文件夹便于管理

(1)下载lua-nginx-module模块

mkdir module
cd module/
wget -c 源地址:/lua-nginx-module/tar.gz/v0.10.14
tar -xzvf v0.10.14 

(2)下载ngx_devel_kit模块(一个拓展nginx服务器核心功能的模块,第三方模块开发可以基于它来快速实现。 NDK提供函数和宏处理一些基本任务,减轻第三方模块开发的代码量)

cd module/
wget -c 源地址:/simplresty/ngx_devel_kit/tar.gz/v0.3.1
tar -xzvf v0.3.1 

Step3: 添加设置luaJit的环境变量

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

Step4: nginx升级

在配置lua后需要对原有的nginx进行升级后方可配置生效:

cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/nginx/module/ngx_devel_kit-0.3.1 --add-module=/usr/local/nginx/module/lua-nginx-module-0.10.14
make
make install

配置的时候不要忘记之前add-module的配置,第一遍安装时因为忘了加原先配过的rtmp,导致大量报错,因此实际的真实配置是:

./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/home/troubleach/nginx-rtmp-module --add-module=

替换原有nginx

cd objs
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp nginx /usr/local/nginx/sbin/nginx

若此时启动nginx:

/usr/local/nginx/sbin/nginx时报错

error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

说明编译时没有生成动态链接库,只能手动链接,编辑静态配置文件:

vim /etc/ld.so.conf.d/usr_local_lib.conf

并添加lua静态依赖库:

/usr/local/LuaJIT/lib

保存:

ldconfig

编辑nginx配置文件,定义lua库路径:

http{
    ...
        
       lua_package_cpath '/usr/local/LuaJIT/lib/lua/5.1/?.so;;';
       lua_package_path '/usr/local/LuaJIT/share/luajit-2.0.5/resty/?.lua;;'; 
        
    ...
    server{
        ...
    }
}

将nginx绝对路径配置到bin目录:

cp /usr/local/nginx/sbin/nginx /usr/local/bin/nginx 

此时再查看nginx版本,发现lua模块和devel kit都已经被配置进去了则说明配置成功。

文章来自个人专栏
存储专栏
89 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0