让Nginx支持Lua

nginx的强大,lua的高性能,真是一个不错的组合,合到一起就无敌了,呵呵。

下面开始配置nginx,使其支持lua,是通过一个nginx模块实现的,
模块地址:https://github.com/chaoslawful/lua-nginx-module
下载链接:https://github.com/chaoslawful/lua-nginx-module/archive/v0.8.10.tar.gz

1、下载源码、解压缩
a、nginx源码:
[root@localhost ~]# wget http://nginx.org/download/nginx-1.4.2.tar.gz
[root@localhost ~]# tar zxvf nginx-1.4.2.tar.gz

b、lua模块
[root@localhost ~]# wget -O lua-nginx-module-0.8.10.tar.gz https://github.com/chaoslawful/lua-nginx-module/archive/v0.8.10.tar.gz
[root@localhost ~]# tar zxvf lua-nginx-module-0.8.10.tar.gz

c、luajit(lua即时编译器)

[root@localhost ~]# wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
[root@localhost ~]# tar zxvf LuaJIT-2.0.2.tar.gz

d、ngx_devel_kit(nginx开发工具包)
12 [root@localhost ~]# wget -O ngx_devel_kit-0.2.18.tar.gz https://github.com/simpl/ngx_devel_kit/archive/v0.2.18.tar.gz
[root@localhost ~]# tar zxvf ngx_devel_kit-0.2.18.tar.gz

2、安装luajit
[root@localhost ~]# make
[root@localhost ~]# make install

 

3、安装nginx
方法a、使用luajit即时编译器

[root@localhost nginx-1.4.1]# export LUAJIT_LIB=/usr/local/lib
[root@localhost nginx-1.4.1]# export LUAJIT_INC=/usr/local/include/luajit-2.0
[root@localhost nginx-1.4.1]# ./configure \
--prefix=/usr/local/nginx-1.4.1 \
--with-http_stub_status_module \
--add-module=../lua-nginx-module-0.8.9 \
--add-module=../ngx_devel_kit-0.2.18
[root@localhost nginx-1.4.1]# make -j 4
[root@localhost nginx-1.4.1]# make install
[root@localhost ~]# echo '/usr/local/lib' >> /etc/ld.so.conf.d/lua.conf
[root@localhost ~]# ldconfig

方法b、使用lua编译器
[root@localhost nginx-1.4.1]# export LUA_LIB=/usr/lib64
[root@localhost nginx-1.4.1]# export LUA_INC=/usr/include
[root@localhost nginx-1.4.1]# ./configure \
--prefix=/usr/local/nginx-1.4.1 \
--with-http_stub_status_module \
--add-module=../lua-nginx-module-0.8.9 \
--add-module=../ngx_devel_kit-0.2.18
[root@localhost nginx-1.4.1]# make -j 4
[root@localhost nginx-1.4.1]# make install

注意:让nginx支持lua,有两种方法,一是使用luajit即时编译器,二是使用lua编译器。推荐使用luajit,因为效率高。


4、验证安装
使用lua编译器时显示如下:
[root@localhost ~]# lsof -p 3359 | grep -i lua
nginx  3359 root  mem  REG 8,3  183920 394551 /usr/lib64/liblua-5.1.so

使用luajit即时编译器时显示如下:
12 [root@localhost ~]# lsof -p 13177 | grep -i lua
nginx 13177 root mem REG 8,3 452024 405089 /usr/local/lib/libluajit-5.1.so.2.0.2

 

5、验证配置指令和输出
修改nginx.conf配置文件,加入下面指令:
location / {
    content_by_lua 'ngx.say("hello world!")';
}

重启nginx,用curl测试
[root@localhost ~]# curl -i localhost
HTTP/1.1 200 OK
Server: nginx/1.4.1
Date: Tue, 24 Sep 2013 23:23:58 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
hello world!

6、大功告成
更多可用指令请查阅:http://wiki.nginx.org/HttpLuaModule

推荐阅读:

使用Nginx如何配置Tomcat访问日志记录真实IP http://www.linuxidc.com/Linux/2012-03/56119.htm

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

LNMP 全功能编译安装 for CentOS 6.3笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm

CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm

在部署LNMP的时候遇到Nginx启动失败的2个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm

Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值