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

前言:

想必大家看完我之前写的搭建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

从0到1搭建redis6.0.7续更~的更多相关文章

  1. 从0到1搭建redis6.0.7

    redis集群搭建 一.安装redis 源码安装: 1.下载源码包: wget http://download.redis.io/releases/redis-6.0.7.tar.gz 2.解压到指定 ...

  2. Docker:docker搭建redis6.0.8集群

    下载redis镜像 #拉取镜像 docker pull redis:6.0.8 查看版本 #查看版本 docker inspect redis 生成redis.conf配置文件 #在 /home/re ...

  3. centos8平台安装redis6.0.1

    一,redis的官网: https://redis.io/ redis6于5月3日正式发布,它的新增功能: acl 多线程io cluster proxy resp3协议 本文演示redis6.0.1 ...

  4. Redis6.0.6集群服务搭建

    实现目标 一台主机上搭建3主3从高可用redis集群 环境 Linux :CentOS7 Redis : 6.0.6 准备工作 1.查看是否有安装wget命令,如果没有安装使用yum命令安装wgt命令 ...

  5. Redis6.0.9主从搭建

    所谓主从,大家都知道主是写数据,而从是进行数据的拷贝. 1:配置 主节点 127.0.0.1 6379 从节点 127.0.0.1 6378 先将单机版的配置文件赋值两份出来,原先的配置中主要改动有: ...

  6. linux安装redis-6.0.1单机和集群

    redis作为一个直接操作内存的key-value存储系统,也是一个支持数据持久化的Nosql数据库,具有非常快速的读写速度,可用于数据缓存.消息队列等. 一.单机版安装 1.下载redis 进入re ...

  7. centos8平台redis cluster集群搭建(redis5.0.7)

    一,规划 redis cluster 1,cluster采用六台redis,3主3从 redis1    : ip: 172.17.0.2 redis2    : ip: 172.17.0.3 red ...

  8. sorl6.0+jetty+mysql搭建solr服务

    1.下载solr 官网:http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr(默认使用jetty部署) 在path路径下将 bin文件夹对应的目录加入,然后 ...

  9. 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件

    转自:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...

随机推荐

  1. 关于rt-thread调度器实现的底层代码分析

      本文使用了rt-thread自带的钩子函数和显示函数进行了实验,从rt-thread自带的延时函数rt_thread_delay()函数入手,对rt-thread系统的调度器进行分析.主要参考资料 ...

  2. ZJU-199001 第三周练习 2 数字特征值 位运算算法

    题目 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值. 对于一个整数, 从个位开始对每一位数字编号, 个位是 \(1\) 号, 十位是 \(2\) 号, 以此类推. 这个整数在第位上的数字 ...

  3. echarts学习笔记(一)

    echarts学习笔记(一) echarts开发步骤 创建一个新的html文件 在html文件head头部信息中导入echarts 声明一个容器(可以理解为画布),用于存放echarts 实例化ech ...

  4. 【面试题】JS第七种数据类型Symbol详解

    JS第七种数据类型Symbol详解 点击打开视频讲解更加详细 一.什么是Symbol? Symbol是ES6中引入的一种新的基本数据类型,用于表示一个独一无二的值.它是JavaScript中的第 七种 ...

  5. Gitea 1.17.1 正式发布 | 08 累积更新

    Gitea 1.17.1 已正式发布.在这个小的版本更新中我们合并了 35 个 PR,没有包含功能性的更改,但我们强烈建议用户升级到此版本以获得重要的修复补丁. 致谢:感谢报告问题的安全研究人员,同时 ...

  6. JavaScript 的闭包(closure)

    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/ 对于闭包的理解,其实可以归纳为,在创建函数时,同时创建了一 ...

  7. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(25)-Fiddler如何优雅地在正式和测试环境之间来回切换-下篇

    1.简介 在开发或者测试的过程中,由于项目环境比较多,往往需要来来回回地反复切换,那么如何优雅地切换呢?宏哥今天介绍几种方法供小伙伴或者童鞋们进行参考. 2.实际工作场景 2.1问题场景 (1)已发布 ...

  8. bilibili弹幕爬虫

    import random import requests import jieba import numpy as np from lxml import etree class SpiderBil ...

  9. Libgdx游戏学习(1)——环境配置及demo运行

    原文: Libgdx游戏学习(1)--环境配置及demo运行 - Stars-One的杂货小窝 Libgdx游戏是基于Java的一款游戏引擎,可以发布Android,桌面端,Html,IOS等游戏,出 ...

  10. C++面向对象编程之转换函数、explicit、one-argument

    1.转换函数 转换函数不需要返回值和参数,直接 "operator 类型名称() {}" ,类型名称就决定了返回值: 在一开始在执行 d = 4 + f; 时,先看有木有重载 + ...