“心有所向,日复一日,必有精进”

前言:

想必大家看完我之前写的搭建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 **)
  • 搜了很多参考资料,但对这个错误解释的很少,以下是我的解决过程

  1. 看错误提示,应该是证书有问题,但这时候我们使用不了yum安装任何东西,所以我们首先删除刚才安装的所有rpm软件包,命令如下:

    # yum -y remove epel-release-7-14.noarch
  2. 安装证书:

    #yum install ca-certificates -y
  3. 更新证书:

    # update-ca-trust extract
  4. 重新更新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

最新文章

  1. 经典排序算法 – 插入排序Insertion sort
  2. EF配置模型
  3. MongoDB学习笔记~MongoDB实体中的值对象
  4. 纯js开发防win7日历控件
  5. shell 面试题
  6. Java面向对象:接口
  7. [Offer收割]编程练习赛5-1 小Ho的防护盾
  8. [MONGODB]: WHEN ARBITER REQUIRED FOR REPLICA SET
  9. INFORMATICA 的部署实施 MTP&amp;MTS
  10. C#基础知识系列四(运算符汇总)
  11. IOS四种保存数据的方式
  12. Speeding up AngularJS apps with simple optimizations
  13. Java中实现对象的比较:Comparable接口和Comparator接口
  14. composer安装报错Composer throws [ReflectionException] Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist
  15. for循环购物清单
  16. HttpServletRequest基础
  17. C# -- 使用递归列出文件夹目录及目录下的文件
  18. ELK冷热数据分离
  19. app的描述-软件的描述
  20. sessionStorage和localStorage

热门文章

  1. VS Code中Markdown常用插件
  2. 【Android 逆向】ARM switch 逆向
  3. HTTP 优缺点
  4. Linux Netlink学习笔记
  5. 华南理工大学 Python第7章课后小测-2
  6. java~springboot(2022之后)~目录索引
  7. 5.第四篇 Etcd存储组件高可用部署
  8. 胎压监测系统(DWS)
  9. 移除worker节点
  10. docker -v 和Dockerfile 中VOLUME 区别