linux系统安装Nginx Lua环境
- 作者: 段爷002
- 来源: 51数据库
- 2021-08-16
亦可参考官方安装指南: lua-nginx-module installation
这是我总结的安装,供参考:
需要最新版的nginx,luajit,ngx_devel_kit,lua-nginx-module等安装文件:
nginx
luajit lua或者luajit都是可以的,但是出于性能的考虑,推荐安装luajit
ngx_devel_kit
lua-nginx-module
参考命令下载:
$ curl -o http://www.51sjk.com/Upload/Articles/1/0/252/252754_20210627000512085.gz $ curl -o http://luajit.org/download/luajit-2.1.0-beta2.tar.gz $ curl -l -o http://www.51sjk.com/Upload/Articles/1/0/252/252754_20210627000512601.gz $ curl -l -o http://www.51sjk.com/Upload/Articles/1/0/252/252754_2021062700051260101.gz
安装luajit
$ wget http://luajit.org/download/luajit- .tar.gz $ tar zxvf luajit- .tar.gz $ cd luajit- $ make $ sudo make install
编译安装lua-nginx-module
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库文件和头文件目录,才可以正常编译安装。
下载解压:
wget http://www.51sjk.com/Upload/Articles/1/0/252/252754_20210627000512851.gz tar -zxvf cjson-2.1.0.tar.gz cd cjson-2.1.0
修改makefile:
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/
推荐阅读