前言:
最近因为工作需要,需要安装Nginx lua-nginx-module模块
ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本
具体特性可以自己搜索下,这里主要是示范一下在Debian/Ubuntu下(其实Centos/Redhat类似),如何在Nginx下安装lua-nginx-module模块
准备工作,一些安装包下载:
· nginx 地址:http://www.nginx.org
· luajit 地址:http://luajit.org/download.html
· HttpLuaModule 地址:http://wiki.nginx.org/HttpLuaModule
· ngx_devel_kit 地址:https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
一、下载Nginx安装包:
我安装路径就选择放在/opt,可自行选择
cd /opt/
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar zxvf nginx-1.10.3.tar.gz
二、下载安装LuaJIT 2.1(2.0或者2.1都是支持的,官方推荐2.1)
#注意,如果使用非root用户安装,/usr/local/src这个目录可能会出现没有权限,记得切换root,或者使用命名前用sudo。
cd /usr/local/src
wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz
tar zxvf LuaJIT-2.1.0-beta2.tar.gz
cd LuaJIT-2.1.0-beta2
make
make install
---------------------------------------------------------------------------------
出现如下内容表示编译成功
OK Successfully built LuaJIT
make[1]: Leaving directory `/usr/local/src/LuaJIT-2.0.2/src'
==== Successfully built LuaJIT 2.0.2 ====
# make install
出现如下内容,表示安装成功
==== Successfully installed LuaJIT 2.0.2 to /usr/local ====
三、下载最新lua-nginx-module模块,无需安装(https://github.com/openresty/lua-nginx-module/tags)
cd /usr/local/src
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.7.tar.gz
tar zxvf v0.10.7.tar.gz
四、下载ngx_devel_kit(NDK)模块,无需安装(https://github.com/simpl/ngx_devel_kit/tags)
cd /usr/loacl/src
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar zxvf v0.3.0.tar.gz
五、设置环境变量
#安装LuaJIT时,成功安装后会显示目录,注意保存,每个机器可能环境有所区别,不要完全复制
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0/
六、进入之前安装nginx的解压目录(/opt/nginx-1.10.3),重新编译安装Nginx
#重新编译安装Nginx,需要增加ngx_devel_kit和lua-nginx-module目录
cd /opt/nginx-1.10.3
./configure --prefix=/opt/nginx --add-module=/usr/local/src/lua-nginx-module-0.10.7/ --add-module=/usr/local/src/ngx_devel_kit-0.3.0/ --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-pcre-jit
#编译安装
make -j2
make install
#注意:如果出现如下报错,“make: *** No rule to make target 'build', needed by 'default'。”
#可能就需要安装一下编译依赖;
# Debian/Ubuntu安装:sudo apt-get install gcc libpcre3 openssl zlib1g
七、编译后验证检查
在/usr/local/nginx/conf/nginx.conf(需要加在http,server块中)中加入如下代码:
location /hello_lua {
default_type 'text/plain';
content_by_lua 'ngx.say("hello, lua")';
}
八、重启Nginx
service nginx restart
九、访问IP/hello_lua会出现”hello, lua”表示安装成功
以上是针对Debian/Ubuntu下安装过程描述以及记录,如出现其他异常,建议先百度下。