亦可参考官方安装指南: lua-nginx-module Installation
这是我总结的安装,供参考:
需要最新版的Nginx,LuaJIT,ngx_devel_kit,lua-nginx-module等安装文件:
Nginx
LuaJIT Lua或者LuaJIT都是可以的,但是出于性能的考虑,推荐安装LuaJIT
ngx_devel_kit
lua-nginx-module
参考命令下载:
1
2
3
4
|
$ 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
1
2
3
4
5
|
$ 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
|
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:
1
2
3
|
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
|
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/ |