直接安装
准备依赖
lua-nginx-module-0.10.13.tar.gz
安装luajit
tar -zxvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make && make install PREFIX=/usr/soft/LuaJIT-2.0.5
export LUAJIT_LIB=/usr/soft/LuaJIT-2.0.5/lib
export LUAJIT_INC=/usr/soft/LuaJIT-2.0.5/include/luajit-2.0
准备模块
tar -zxvf lua-nginx-module-0.10.13.tar.gz
tar -zxvf ngx_devel_kit-0.3.0.tar.gz
安装nginx
./configure --prefix=/usr/soft/nginx --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB" --add-module=/usr/soft/ngx_devel_kit-0.3.0 --add-module=/usr/soft/lua-nginx-module-0.10.13
如果编译nginx时没有加--with-ld-opt
,会导致nginx在启动的时候会无法找到位于luajit内的类库,并输出如下错误信息:
error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
查看nginx安装模块
cd /usr/soft/nginx
./sbin/nginx -V
测试
修改nginx配置文件conf/nginx.conf
,添加如下配置
location /lua {
default_type 'text/html';
content_by_lua 'ngx.say("hello world")';
}
启动nginx
./sbin/nginx
通过curl访问http://localhost/lua
后,nginx返回hello world
则说明nginx+lua环境搭建完成。
通过OpenResty安装
准备OpenResty
OpenResty集成了nginx与大量精良的Lua库、第三方模块和大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。
笔者使用的是
openresty-1.13.6.1.tar.gz
安装OpenResty
tar -zxvf openresty.tar.gz
cd openresty-1.13.6.1
./configure --prefix=/usr/soft/openresty
make && make install
目录说明
openresty/luajit:luajit环境,luajit类似于java的jit,即即时编译,lua是一种解释语言,通过luajit可以即时编译lua代码到机器代码,得到很好的性能
openresty/lualib:要使用的lua库,里边提供了一些默认的lua 库,如 redis,json库等,也可以把一些自己开发的或第三方的放在这
openresty/nginx:nginx安装路径
查看nginx安装模块
cd /usr/soft/openresty/nginx
./sbin/nginx -V
测试
修改nginx配置文件conf/nginx.conf
,添加如下配置
location /lua {
default_type 'text/html';
content_by_lua 'ngx.say("hello world")';
}
启动nginx
./sbin/nginx
通过curl访问http://localhost/lua
后,nginx返回hello world
则说明nginx+lua环境搭建完成。