nginx安装redis模块
浏览数 155723
赞
(0)
我的电脑上已经安装了nginx,如果你的系统没有安装nginx,则在安装nginx时可添加redis模块。
我的nginx安装目录:
/usr/local/tengine-2.2.1/
先查看自己的nginx有没有安装redis模块
/usr/local/tengine-2.2.1/sbin/nginx -V |

确定以前没有安装过nginx的redis模块,并且可以看出当时编译安装nginx的参数是
--prefix=/usr/local/tengine-2.2.1
以下要用到这个参数,安装redis模块时需要重装编译nginx,所以要把原来的参数都加上。
1、下载redis模块
下载页面:https://github.com/openresty/redis2-nginx-module如果你的电脑上安装了git客户端,则可以使用git下载,我是直接下载 .zip包,然后上传到我的linux服务器software目录,这个目录我用于存放所有程序的安装源码。
cd /software/ rz #此命令上传zip文件 unzip redis2-nginx-module-master.zipcd redis2-nginx-module-master ls |

2、复制redis模块目录文件到nginx 模块目录下
cp /software/redis2-nginx-module-master /usr/local/tengine-2.2.1/modules/redis2-nginx-module |
3、nginx预编译和安装
开篇时我们讲了使用以下命令查看以前编译安装nginx的参数
/usr/local/tengine-2.2.1/sbin/nginx -V
现在进入到nginx的源码目录,重新编译nginx时加上redis模块,即
--add-module=/usr/local/nginx/module/redis2-nginx-module
cd /software/tengine-2.2.1 ./configure --prefix=/usr/local/tengine-2.2.1 --add-module=/usr/local/tengine-2.2.1/modules/redis2-nginx-module make |
(编译成功后的提示忘记截图了,这里借有其他人的图片)

编译成功之后make安装,成功之后出现以下提示

4、替换原nginx
#先备份原来的nginx cp /usr/local/tengine-2.2.1/sbin/nginx /usr/local/tengine-2.2.1/sbin/nginx.bak service nginx stop cd /software/tengine-2.2.1/objs cp /software/tengine-2.2.1/objs/nginx /usr/local/tengine-2.2.1/sbin/nginx service nginx start |


5、安装redis模块成功
查看nginx的模块中已经有redis了

Nginx和redis模块简单使用
打开一个虚拟主机的配置文件
vim /usr/local/tengine-2.2.1/conf/vhosts/www.yiluphp.com.conf
加入代码
location = /redis{ default_type text/plain; #设置返回的数据类型,如果返回JSON则写default_type application/json; #redis2_query auth yiluphpredispassword2017; #如果redis没有设置密码,则此行可以省略 #redis2_query select 1; #选择一个库,如果使用此行代码,会多输出一行字符串:+OK redis2_query get "links"; redis2_pass 127.0.0.1:6379; } |
重启nginx
service nginx reload
访问提示获取不到数据,因为我们还没有在redis中设置键为links的值
http://www.yiluphp.com/redis

我们在redis中设置links的值试试


nginx及其redis模块,再加上lua语言可以处理更加复杂的业务,并且管理好代码。