安装Nginx Lua模块

环境准备:

$ yum -y install pcre-devel

$ yum -y install openssl openssl-devel

下载所需文件

亦可参考官方安装指南:lua-nginx-module Installation

这是我总结的安装,供参考:

需要最新版的Nginx,LuaJIT,ngx_devel_kit,lua-nginx-module等安装文件:

参考命令下载:

$ curl -O http://nginx.org/download/nginx-1.10.1.tar.gz

$ curl -O http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz

$ curl -L -O https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz

$ curl -L -O https://github.com/openresty/lua-nginx-module/archive/v0.10.5.tar.gz

安装LuaJIT

$ wget http://luajit.org/download/LuaJIT-.tar.gz

$ tar zxvf LuaJIT-.tar.gz

$ cd LuaJIT-

$ make

$ sudo make install

编译安装lua-nginx-module

1
2
3
4
5
6
7
8

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

cd nginx-1.10.1
./configure --prefix=/opt/nginx  --with-ld-opt="-Wl,-rpath,/usr/local/lib"  --add-module=/path/to/ngx_devel_kit-0.3.0  --add-module=/path/to/nginx/lua-nginx-module-0.10.5
make
make install

动态module方式

Nginx 1.9.11 开始可以编译module为一个动态module,在执行./configure命令时用–add-dynamic-module=PATH替换–add-module=PATH。编译后可以在nginx.conf配置中使用 load_module 来动态加载这个module:

load_module /path/to/modules/ndk_http_module.so;

load_module /path/to/modules/ngx_http_lua_module.so;

lua cjson install

Eureka Zuul 网关 安装编译cjson需要lua运行时,编译前需要修改MakeFile中的LUA_VERSION、LUA_INCLUDE_DIR、LUA_CMODULE_DIR参数,让cjson模块知道lua库文件和头文件目录,才可以正常编译安装。

下载解压:

1
2
3
wget http://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz
tar -zxvf cjson-2.1.0.tar.gz
cd cjson-2.1.0

修改MakeFile:

1
2
3
4
5
6
7
LUA_VERSION =  luajit-2.1
LUA_INCLUDE_DIR =   $(PREFIX)/include/$(LUA_VERSION)
LUA_CMODULE_DIR =   $(PREFIX)/lib


make & sudo make install
sudo cp cjson.so /usr/local/lib/lua/5.1/