Nginx+Lua环境搭建
直接安装
准备依赖
lua-nginx-module-0.10.13.tar.gz
安装luajit
1 | tar -zxvf LuaJIT-2.0.5.tar.gz |
准备模块
1 | tar -zxvf lua-nginx-module-0.10.13.tar.gz |
安装nginx
1 | ./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内的类库,并输出如下错误信息:
1 | error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory |
查看nginx安装模块
1 | cd /usr/soft/nginx |
测试
修改nginx配置文件conf/nginx.conf
,添加如下配置
1 | location /lua { |
启动nginx
1 | ./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
1 | tar -zxvf openresty.tar.gz |
目录说明
openresty/luajit:luajit环境,luajit类似于java的jit,即即时编译,lua是一种解释语言,通过luajit可以即时编译lua代码到机器代码,得到很好的性能
openresty/lualib:要使用的lua库,里边提供了一些默认的lua 库,如 redis,json库等,也可以把一些自己开发的或第三方的放在这
openresty/nginx:nginx安装路径
查看nginx安装模块
1 | cd /usr/soft/openresty/nginx |
测试
修改nginx配置文件conf/nginx.conf
,添加如下配置
1 | location /lua { |
启动nginx
1 | ./sbin/nginx |
通过curl访问http://localhost/lua
后,nginx返回hello world
则说明nginx+lua环境搭建完成。