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/
坚持到无能为力,拼搏到感动自己