nginx+lua+redis构建高并发应用

目前有这方面的类似模块,就是Nginx+HttpLuaModule+Redis的实现方式,Nginx不用多说是服务器,HttpLuaModule是由淘宝的工程师清无(王晓哲)和春来(章亦春)所开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua就极大增强了nginx的能力。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,说简单了就是内存数据库,效率高。这三个模块组合在一起的基本流程是url请求nginx服务器,然后lua查询redis,返回数据,这种方式依然保持高并发。

方法一 直接安装OpenResty,OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

yum install readline-devel pcre-devel openssl-devel gcc

 

方法二手动安装nginx+lua+redis(出错暂未解决)

1.下载并编译安装LuaJIT 2.1

wget -c http://luajit.org/download/LuaJIT-2.1.0.tar.gz

tar -zxf LuaJIT-2.1.0.tar.gz  -C /usr/local/luajit

cd /usr/local/luajit/LuaJIT-2.1.0/

make&&make install

2.下载ngx_devel_kit

https://github.com/simpl/ngx_devel_kit/tags

wget -c https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz

tar -zxf v0.2.19.tar.gz -C /usr/local/ngx_devel/

3. 下载ngx_lua

下载链接:https://github.com/openresty/lua-nginx-module/tags

wget -c https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc5.tar.gz

tar -zxf v0.10.9rc5.tar.gz -C /usr/local/ngx_lua/

4 下载 PCRE 

wget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

tar -zxf pcre-8.40.tar.gz -C /usr/local/pcre/

5.下载nginx 

wget -c http://nginx.org/download/nginx-1.4.7.tar.gz

在/etc/profile 加入  

export LUAJIT_LIB=/usr/local/include/luajit-2.0/
export LUAJIT_INC=/usr/local/lib/

source /etc/profile

cd nginx-1.4.7/

./configure --user=www --group=www --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre/pcre-8.40/ --with-http_stub_status_module --with-http_ssl_module --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB" --add-module=/usr/local/ngx_devel/ngx_devel_kit-0.2.19/ --add-module=/usr/local/ngx_lua/lua-nginx-module-0.10.9rc5/

坚持到无能为力,拼搏到感动自己