YiluPHP
这家伙很懒,什么都没有留下...

经验 nginx安装redis模块

浏览数 155723

nginx安装redis模块,让nginx直接与redis通信,加快web响应速度。

我的电脑上已经安装了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.zip
cd 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语言可以处理更加复杂的业务,并且管理好代码。



我来说说