“心有所向,日复一日,必有精进”
前言:
想必大家看完我之前写的搭建redis服务器,大家都已经把redis搭建起来了吧如果没有搭建起来的小可爱请移步这里哦从0到1搭建redis6
是不是还没看够呢,现在它来了,搭建完redis服务器,我们肯定要去用的,下面我们会一步步讲解redis cluster向PHP客户端扩展。
七、redis cluster 向客户端扩展
1.安装PHP7版本及php-fpm,php-redis,hiredis,swoole扩展
更新yum源
[root@mysql_master ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@mysql_master ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@mysql_master /]# yum search php71w
- 注:没有错误的话这里可以跳过
- 安装到这里的时候,发现了我的centos7在装完上面的两个yum源后,进行下一步查看有没有PHP71w扩展的时候,yum search php71w竟然弹出来错误,而且我的yum安装程序也不能使用(不能使用yum install **)
-
搜了很多参考资料,但对这个错误解释的很少,以下是我的解决过程
-
看错误提示,应该是证书有问题,但这时候我们使用不了yum安装任何东西,所以我们首先删除刚才安装的所有rpm软件包,命令如下:
# yum -y remove epel-release-7-14.noarch
-
安装证书:
#yum install ca-certificates -y
-
更新证书:
# update-ca-trust extract
-
重新更新yum源
[root@mysql_master /]# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm [root@mysql_master /]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 查看PHP信息: [root@mysql_master /]# yum search php71w #出现以下内容则证明没有问题 mod_php71w.x86_64 : PHP module for the Apache HTTP Server php71w-bcmath.x86_64 : A module for PHP applications for using the bcmath library php71w-cli.x86_64 : Command-line interface for PHP php71w-common.x86_64 : Common files for PHP php71w-dba.x86_64 : A database abstraction layer module for PHP applications php71w-devel.x86_64 : Files needed for building PHP extensions ...................内容很多,不再赘述~
2.安装PHP7.1以及扩展
[root@mysql_master /]# yum -y install php71w php71w-fpm php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath
3.检查PHP版本
[root@mysql_master /]# php -v
PHP 7.1.33 (cli) (built: Oct 26 2019 10:16:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
4.安装swoole扩展
[root@mysql_master ~]# wget -O Swoole-4.4.5.tar.gz https://github.com/swoole/swoole-src/archive/v4.4.5.tar.gz
[root@mysql_master ~]# tar -zxvf Swoole-4.4.5.tar.gz
[root@mysql_master ~]# cd swoole-src-4.4.5
[root@mysql_master swoole-src-4.4.5]# phpize //(ubuntu没有安装phpize可执行命令: sudo apt-get install php-dev来安装phpize)
[root@mysql_master swoole-src-4.4.5]# ./configure // 配置
[root@mysql_master swoole-src-4.4.5]# make //编译
[root@mysql_master swoole-src-4.4.5]# make install //安装
5.安装PHP-redis扩展
[root@mysql_master ~]# yum -y install redis php-redis
6.安装异步hiredis
[root@mysql_master ~]# yum -y install hiredis-devel
7.配置php.ini
编译安装成功后,修改php.ini加入
[root@mysql_master ~]# vim /etc/php.ini
extension=redis.so
extension=swoole.so
#通过php -m或phpinfo()来查看是否成功加载了swoole.so,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径
[root@mysql_master ~]# php -m //检查框架模块加载成功没有
8.安装php-fpm扩展
1、安装php71w-fpm 上面已经用yum安装过了就不必再次安装
2、创建web用户组及用户
默认用户www-data
[root@mysql_master ~]# id www-data
id: www-data: no such user
[root@mysql_master ~]# groupadd www-data
[root@mysql_master ~]# useradd -g www-data www-data
[root@mysql_master ~]# id www-data
uid=1001(www-data) gid=1001(www-data) groups=1001(www-data)
9.修改php-fpm
[root@mysql_master ~]# vim /etc/php-fpm.d/www.conf
user=www-data
group=www-data
10.修改Nginx配置
[root@mysql_master ~]# yum -y install nginx
[root@mysql_master ~]# rm -rf /etc/nginx/nginx.conf
[root@mysql_master ~]# cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
[root@mysql_master ~]# vim /etc/nginx/nginx.conf
修改为以下内容
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
11.写测试页面
[root@mysql_master ~]# systemctl restart nginx
[root@mysql_master ~]# cd /usr/share/nginx/html/
[root@mysql_master html]# vim index.php
#写以下内容
<?php
phpinfo();
?>
#重启服务
[root@mysql_master html]# systemctl restart nginx php-fpm
12.验证PHP是否能正常启动成功
#浏览器访问:
http://192.168.232.11/index.php //这里写自己的配PHP的主机和PHP名称
#往下找看看能否找到redis模块,出现如下信息即配置成功
13.测试
连接哪个redis,应该先开启,否则出现访问拒绝
[root@mysql_master html]# vim redis.php
<?php
//连接192.168.232.12的Redis服务
$redis = new Redis();
$redis->connect('192.168.232.11',7000);
$redis->auth (''); //redis认证
echo "connection to server sucessfully";
//查看服务是否运行
echo "server is running: " . $redis->ping();
?>
好了,到这里我们PHP客户端的redis已搭建起来,想要了解更多redis内容,可以关注私信我,有问题也可以私信我,redis我还会继续更新,感觉写的不错的话点个赞吧~
喜欢就点个关注叭~
转载请注明出处,持续更新ing...
如有问题可以发我邮箱2325117110@qq.com