nginx/php的redis模块扩展

redis模块介绍

redis2-nginx-module 可以实现 Nginx 以非阻塞方式直接防问远方的 Redis 服务,可以启用强大的 Redis 连接池功能,进而实现更多的连接与更快速的访问。

安装部署

安装前环境:php+nginx 见 https://www.cnblogs.com/huandada/p/10114722.html
注:nginx的redis模块加载是不需要用到php的,这里只需要nginx编译安装。

编译安装redis

https://www.cnblogs.com/huandada/p/10192215.html

nginx安装redis模块

下载模块

cd ~
git clone https://github.com/openresty/redis2-nginx-module.git

将模块放到nginx的安装目录对应的module下,如果没有,可以直接创建

sudo mkdir /usr/local/nginx/module/
sudo cp -R ~/redis2-nginx-module/  /usr/local/nginx/module/

nginx的二次编译

查看nginx的版本信息

cd /usr/local/nginx/sbin/
sudo ./nginx -V

进入到nginx源码包的解压目录,编译安装

cd ~/nginx-1.4.2
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --user=nginx --group=nginx --with-http_ssl_module --add-module=/usr/local/nginx/module/redis2-nginx-module
sudo make
可以看到模块编译成功

sudo make install

重启服务

sudo killall nginx
cd /usr/local/nginx/sbin/
sudo ./nginx

再次查看nginx的版本信息

sudo ./nginx -V


模块安装成功

页面测试
在redis set一个键值key为hello value为world

添加nginx配置,获取该值

sudo vim /usr/local/nginx/conf/nginx.conf
location = /redis{
     default_type text/plain;
     redis2_query get "hello";
     redis2_pass 127.0.0.1:6379;
    }

访问 http://ip:80/redis

php的redis模块扩展

在redis服务安装的基础上,可以不用nginx模块,php的redis模块也可以实现相同的效果
下载模块编译安装

cd ~
wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz 
tar -zxvf 3.1.2.tar.gz
cd phpredis-3.1.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config 
sudo make
sudo make install #得到模块放置路径
 /xx/xx/xx/

将模块信息添加至 php.ini

sudo vim /usr/local/php/etc/php.ini #添加以下行 
extension=/xx/xx/xx/redis.so

重启php-fpm服务

sudo killall php-fpm
cd /usr/local/php/sbin/ 
./php-fpm

phpinfo()页面查看模块加载情况

cat /usr/local/nginx/html/info.php
<?php phpinfo() ?>

访问页面 http://ip:80/info.php

posted @ 2018-12-29 09:46  huandada  阅读(1276)  评论(0编辑  收藏  举报