高并发环境搭建nginx+lua+redis
1.2.1、下载nginx开发插件ngx_devel_kit 2
1.2.2、下载nginx的lua模块lua-nginx-module 2
一、安装环境
1.1、安装Lua解释器
cd /usr/local/src
wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
tar -xvf LuaJIT-2.0.2.tar.gz
cd LuaJIT-2.0.2
make && make install
默认lib 以及驱动文件路径是/usr/local/lib 和 /usr/local/include/luajit-2.0
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0
1.2、安装nginx
1.2.1、下载nginx开发插件ngx_devel_kit
cd /usr/local/src
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar -xvf v0.3.0.tar.gz **包名好奇怪
1.2.2、下载nginx的lua模块lua-nginx-module
cd /usr/local/src
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz
tar -xvf v0.10.9rc7.tar.gz **包名。。。
1.2.3、安装nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar -xvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.40 \
--with-zlib=/usr/local/src/zlib-1.2.11 \
--with-openssl=/usr/local/src/openssl-1.0.2l \
--with-http_stub_status_module \
--add-module=/usr/local/src/ngx_devel_kit-0.3.0 \
--add-module=/usr/local/src/lua-nginx-module-0.10.9rc7
make && make install
其中http_stub_status_module 是状态监控模块
安装nginx之前确保已经安装依赖包openssl、zlib、pcre下载解压到相应位置
如果提示下面错误,应该是 lua-nginx-module和OpenSSL 1.1.0不兼容,换成OpenSSL 1.0.2就好了,
/usr/local/src/lua-nginx-module-0.10.10/src/ngx_http_lua_module.c:1022:37: error: passing argument 2 of ‘SSL_CTX_sess_set_get_cb’ from incompatible pointer type [-Werror]
运行nginx
/usr/local/nginx/sbin/nginx
如果提示下面错误,表示找不到libluajit-5.1.so.2库
error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
解决方法:
ln -s /usr/local/lib/libluaj

本文详细介绍了如何在高并发环境下搭建nginx、lua和redis的整合运行,包括安装Lua解释器、nginx及其lua模块,安装redis及lua-resty-redis,以及配置连接池。此外,还讲解了高并发优化,如调整文件访问和Socket连接参数,并进行了压力测试以验证效果。
5万+

被折叠的 条评论
为什么被折叠?



