架构图:
1、环境准备
角 色 | 主机名 | ip | 说 明 |
---|---|---|---|
负载均衡服务器 | lb01 | 192.168.10.5、172.16.1.5 | 安装nginx |
web服务器 | web01 | 192.168.10.7、172.16.1.7 | 安装nginx+php |
web服务器 | web02 | 192.168.10.8、172.16.1.8 | 安装nginx+php |
数据库服务器 | db01 | 192.168.10.51、172.16.1.51 | 安装mariadb |
nfs存储服务器 | nfs01 | 192.168.10.31、172.16.1.31 | 安装nfs |
2、nfs存储服务器
共享目录:/uploads/wordpress/,属主属组:www(uid:1999,gid:1999,虚拟用户),设置所有用户都压缩
2.1 安装nfs
[root@nfs01 ~]#yum install -y rpcbind nfs-utils
2.2 创建www用户
[root@nfs01 ~]#groupadd -g 1999 www
[root@nfs01 ~]#useradd -g www -u 1999 -s /sbin/nologin -M www
2.3 创建共享目录
[root@nfs01 ~]#mkdir -p /uploads/wordpress/
[root@nfs01 ~]#chown -R www.www /uploads/wordpress/
2.4 配置nfs
共享目录:/uploads/wordpress/ 设置所有用户压缩以www用户访问
[root@nfs01 ~]#vim /etc/exports
/uploads/wordpress/ 172.16.1.0/24(rw,all_squash,anonuid=1999,anongid=1999)
2.5 重启rpc、nfs服务
[root@nfs01 ~]#systemctl restart rpcbind
[root@nfs01 ~]#systemctl restart nfs
[root@nfs01 ~]#systemctl enable rpcbind
[root@nfs01 ~]#systemctl enable nfs
3、数据库服务器
通过yum安装mariadb数据库
3.1 安装mariadb数据库服务
#1、安装mariadb数据库服务端
#mariadb-server:服务端
#mariadb:客户端
[root@db01 ~]#yum install -y mariadb-server
[root@db01 ~]#systemctl start mariadb
[root@db01 ~]#systemctl enable mariadb
3.2 数据库安全配置
#首次安装数据库需要执行,仅仅需要首次运行
[root@db01 ~]#mysql_secure_installation #用于设置数据库root密码,清理用户和临时库
Enter current password for root (enter for none): #直接回车
Set root password? [Y/n] y #输入y,设置root密码
New password: #输入密码,这里使用12345
Re-enter new password: #确认密码
Remove anonymous users? [Y/n] y #输入y,清理匿名用户
Disallow root login remotely? [Y/n] y #输入y,禁止root远程登录
Remove test database and access to it? [Y/n] y #输入y,删除测试数据
Reload privilege tables now? [Y/n] y #输入y,刷新授权表
3.3 创建数据库
数据库名:wordpress,用户:wp,密码:12345,白名单网段:172.16.1.%
MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> grant all on wordpress.* to 'wp'@'localhost' identified by '12345';
MariaDB [(none)]> grant all on wordpress.* to 'wp'@'172.16.1.%' identified by '12345';
MariaDB [(none)]> flush privileges;
数据库备份与恢复:
#1、备份
[root@db01 ~]#mysqldump -uroot -p --all-databases > mariadb-all.sql
Enter password:
#2、恢复
[root@db01 ~]#mysql -uroot -p < mariadb-all.sql
Enter password:
–all-databases:备份所有数据库
4、web01部署
nginx和php的用户统一为:www
4.1 创建www用户
虚拟用户:www,uid:1999,gid:1999
[root@web01 ~]#groupadd -g 1999 www
[root@web01 ~]#useradd -g www -u 1999 -s /sbin/nologin -M www
4.2 安装php7.4
#1、删除旧版php
[root@web01 ~]#yum remove -y php*
[root@web01 ~]#yum remove -y remi-release.noarch
#2、安装php74
#配置php源
[root@web01 ~]#yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#安装php74及相关依赖包
[root@web01 ~]#yum install -y php74 php74-php-bcmath php74-php-common php74-php-cli php74-php-devel php74-php-embedded php74-php-fpm php74-php-gd php74-php-intl php74-php-mbstring php74-php-mysqlnd php74-php-opcache php74-php-pdo php74-php-pear php74-php-pecl-igbinary php74-php-pecl-memcached php74-php-process php74-php-xml
#3、启动php
[root@web01 ~]#systemctl start php74-php-fpm
[root@web01 ~]#systemctl enable php74-php-fpm #设置开机启动
4.3 修改php74配置文件
php74主配置文件:/etc/opt/remi/php74/php-fpm.conf
子配置文件:/etc/opt/remi/php74/php-fpm.d/www.conf
修改子配置文件,把user和group改成:www,默认是:apache
[root@web01 ~]#vim /etc/opt/remi/php74/php-fpm.d/www.conf
user = www
group = www
修改配置文件后,要重启 php74-php-fpm服务, php74-php-fpm服务端口:9000
4.4 安装nginx
#1、配置nginx的yum源
[root@web01 ~]#vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
#2、安装nginx
[root@web01 ~]#yum install -y nginx
4.5 配置站点目录
站点目录:/app/code/blog
[root@web01 ~]#mkdir -p /app/code/blog
4.6 站点配置文件
[root@web01 ~]#vim /etc/nginx/conf.d/blog.conf
server {
listen 80;
server_name blog.com;
error_log /var/log/nginx/blog-error.log notice;
access_log /var/log/nginx/blog-access.log main;
root /app/code/blog;
location / {
index index.php;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_buffering on; #开启缓存
fastcgi_buffers 64 64k; #设置缓存大小,64个每个64k,即64*64
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
4.7 nginx进程用户www
修改nginx主配置文件:/etc/nginx/nginx.conf
[root@web01 ~]#vim /etc/nginx/nginx.conf
user www;
4.8 重启nginx、php服务
[root@web01 ~]#systemctl restart nginx php74-php-fpm
4.9 部署WordPress
#1、下载wordpress
[root@web01 ~]#wget https://cn.wordpress.org/latest-zh_CN.tar.gz
#2、解压
[root@web01 ~]#tar xf latest-zh_CN.tar.gz
[root@web01 ~]#mv wordpress/* /app/code/blog/
[root@web01 ~]#chown -R www.www /app/code/blog/
4.10 挂载nfs存储
将app/code/blog/wp-content/uploads/目录挂载到nfs存储的共享目录/uploads/wordpress/
[root@web01 ~]#mount -t nfs 172.16.1.31:/uploads/wordpress/ /app/code/blog/wp-content/uploads/
4.11 安装wordpress
浏览器打开:192.168.10.7
点击开始安装:
填写相关信息,点击提交:
点击运行安装程序
填写相关信息安装即可。安装完成如下图:
注意:安装完成后,站点目录:/app/code/blog除了/wp-content/外,其他修改为root
[root@web01 ~]#chown -R root.root /app/code/blog/
[root@web01 ~]#chown -R www.www /app/code/blog/wp-content/
至此,Wordpress部署完毕。
5、web02部署
5.1 创建www用户
[root@web02 ~]#groupadd -g 1999 www
[root@web02 ~]#useradd -g www -u 1999 -s /sbin/nologin -M www
5.2 nginx+php部署
按照web01的方法部署nginx+php环境,安装过程省略
修改nginx和php的用户为www
[root@web02 ~]#sed -ri '/^(user|group)/s#nginx#www#g' /etc/nginx/nginx.conf
[root@web02 ~]#sed -ri '/^(user|group)/s#apache#www#g' /etc/opt/remi/php74/php-fpm.d/www.conf
5.3 创建站点目录
[root@web02 ~]#mkdir -p /app/code/blog
5.4 站点配置文件
[root@web02 ~]#vim /etc/nginx/conf.d/blog.conf
server {
listen 80;
server_name blog.com;
error_log /var/log/nginx/blog-error.log notice;
access_log /var/log/nginx/blog-access.log main;
root /app/code/blog;
location / {
index index.php;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_buffering on;
fastcgi_buffers 64 64k;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
5.5 wordpress安装部署
由于在web01中已经部署好了wordpress,因此把web01的wordpress的代码发送到web02的站点目录/app/code/blog即可
在web01上操作:
[root@web01 ~]#cd /app/code/blog/
[root@web01 /app/code/blog]#scp -rp ./* root@192.168.10.8:`pwd`
-p:保持原有的属性不变
5.5 挂载nfs存储
[root@web02 ~]#mount -t nfs 172.16.1.31:/uploads/wordpress/ /app/code/blog/wp-content/uploads/
5.6 重启nginx、php服务
[root@web02 ~]#systemctl restart nginx php74-php-fpm
[root@web02 ~]#systemctl enable nginx php74-php-fpm
浏览器打开:192.168.10.8
OK,web02也部署成功。
6、负载均衡
负载均衡服务器:lb01
6.1 安装nginx
#1、配置nginx的yum源
[root@l01 ~]#vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
#2、安装nginx
[root@lb01 ~]#yum install -y nginx
6.2 配置负载均衡
[root@lb01 ~]#vim /etc/nginx/conf.d/lb.conf
#负载均衡配置
#创建负债均衡分组
upstream lb_pools {
server 192.168.10.7:80;
server 192.168.10.8:80;
}
server {
listen 80;
server_name lb.com;
error_log /var/log/nginx/lb-error.log notice;
access_log /var/log/nginx/lb-access.log main;
location / {
#把请求转发到后端的web节点
proxy_pass http://lb_pools;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Ip $remote_addr;
}
}
6.3 重启nginx
[root@lb01 ~]#systemctl restart nginx
[root@lb01 ~]#systemctl enable nginx
6.4 测试
浏览器打开负载均衡服务器的ip:192.168.10.5
OK,成功
抓包效果:
前面演示的是使用ip访问,建议做本地域名解析,使用域名部署。
因为使用ip部署后,访问Wordpress后台会跳转到安装wordpress的所在服务器的ip
7、会话保持
7.1 概述
用户的请求、登录的请求,进过负载均衡后落到后面的web服务器上,登录的状态/信息也会记录在web服务器上,就会导致不同的web服务器上,登录状态不统一,造成用户频繁需要登录。
会话:用户的登录状态、购物车状态。。。。
7.2 cookie vs session
技术点 | 共同点 | 区别 | 其他 |
---|---|---|---|
cookie | 存放用户的信息、登录信息 | 存放在客户端浏览器 | 服务器给客户端响应,进行设置set-cookie,未来再次访问携带这cookie访问服务端 |
session | 存放用户的信息、登录信息 | 存放在服务端(文件、数据库…) | 浏览器cookie与服务端的session对应 |
set-cookie例如:
[root@web01 ~]#curl -v www.baidu.com
* About to connect() to www.baidu.com port 80 (#0)
* Trying 14.119.104.254...
* Connected to www.baidu.com (14.119.104.254) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.baidu.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: keep-alive
< Content-Length: 2381
< Content-Type: text/html
< Date: Thu, 29 Jun 2023 14:47:58 GMT
< Etag: "588604dc-94d"
< Last-Modified: Mon, 23 Jan 2017 13:27:56 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
7.3 会话保持方案
1、登录状态写入cookis中(如,WordPress)
2、cookie+session方式+统一存放在session服务器(会话保持服务器)
3、通过认证服务实现Oauth2.0(使用token方式)
4、ip_hash方法
5、通过redis实现phpmyadmin/kodbox会话共享
流程:
1、db服务器:phpmyadmin用户,权限大一些
2、web服务器:部署代码,传输到另外一个web上
3、准备reids环境(在db01上部署)
4、修改php配置(创建新的端口)
5、接入负载均衡:访问与测试
1)db01服务器部署
1)准备phpmyadmin的用户
在db01服务器上,用户名:phpmyadmin,密码:12345,给所有数据库所有表授权
[root@db01 ~]#mysql -uroot -p12345
MariaDB [(none)]> grant all on *.* to 'phpmyadmin'@'172.16.1.%' identified by '12345';
MariaDB [(none)]> flush privileges;
2)web01服务器部署
1)部署代码
web01、web02服务器已事先部署好nginx+php环境
web01配置:
nginx配置:
[root@web01 ~]#vim /etc/nginx/conf.d/phpmyadmin.conf
server {
listen 81;
server_name phpmyadmin.com;
error_log /var/log/nginx/phpmyadmin-error.log notice;
access_log /var/log/nginx/phpmyadmin-access.log main;
root /app/code/phpmyadmin;
location / {
index index.php;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9001; #使用9001端口
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
创建站点目录:
[root@web01 ~]#mkdir -p /app/code/phpmyadmin
phpmyadmin官网:https://www.phpmyadmin.net/
代码部署:
下载phpMyAdmin解压放到/app/code/phpmyadmin目录
[root@web01 ~]#curl -o phpMyAdmin-5.2.1-all-languages.zip https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
[root@web01 ~]#unzip phpMyAdmin-5.2.1-all-languages.zip
[root@web01 ~]#mv phpMyAdmin-5.2.1-all-languages/* /app/code/phpmyadmin/
php配置:
[root@web01 ~]#cd /etc/opt/remi/php74/php-fpm.d/
[root@web01 /etc/opt/remi/php74/php-fpm.d]#cp www.conf session.conf
[root@web01 /etc/opt/remi/php74/php-fpm.d]#vim session.conf
[session] ;改为session
user = www
group = www
listen = 127.0.0.1:9001 #9001端口
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/opt/remi/php74/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/opt/remi/php74/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files ;session以文件的形式保存
php_value[session.save_path] = /var/opt/remi/php74/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/opt/remi/php74/lib/php/wsdlcache
#修改/var/opt/remi/php74/lib/php/session目录属主属组为www
[root@web01 ~]#chown -R www.www /var/opt/remi/php74/lib/php/session
phpmyadmin配置:
配置数据库服务器的ip
[root@web01 ~]#cd /app/code/phpmyadmin/
[root@web01 /app/code/phpmyadmin]#cp config.sample.inc.php config.inc.php
[root@web01 /app/code/phpmyadmin]#vim config.inc.php
$cfg['Servers'][$i]['host'] = '172.16.1.51';
重启nginx、php服务:
[root@web01 ~]#systemctl restart nginx php74-php-fpm
2)测试
浏览器打开:http://192.168.10.7:81/
显示如下:
用户名、密码为db01服务器中设置的phpmyadmin(12345),登录后如下:
3)web02部署
按照web01的方法在web02上部署代码
1)部署代码
nginx站点配置:
[root@web02 ~]#vim /etc/nginx/conf.d/phpmyadmin.conf
server {
listen 81;
server_name phpmyadmin.com;
error_log /var/log/nginx/phpmyadmin-error.log notice;
access_log /var/log/nginx/phpmyadmi-access.log main;
root /app/code/phpmyadmin;
location / {
index index.php;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
部署phpmyadmin:
[root@web02 ~]#curl -o phpMyAdmin-5.2.1-all-languages.zip https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
[root@web02 ~]#unzip phpMyAdmin-5.2.1-all-languages.zip -d /app/code/
[root@web02 ~]#mv /app/code/phpMyAdmin-5.2.1-all-languages/ /app/code/phpmyadmin
修改phpmyadmin配置文件:
设置数据库的ip
[root@web02 ~]#cd /app/code/phpmyadmin/
[root@web02 /app/code/phpmyadmin]#cp config.sample.inc.php config.inc.php
[root@web02 /app/code/phpmyadmin]#vim config.inc.php
$cfg['Servers'][$i]['host'] = '172.16.1.51';
修改php子配置文件:
[root@web02 ~]#cd /etc/opt/remi/php74/php-fpm.d/
[root@web02 /etc/opt/remi/php74/php-fpm.d]#cp www.conf session.conf
[root@web02 /etc/opt/remi/php74/php-fpm.d]#vim session.conf
[session]
listen = 127.0.0.1:9001
修改/var/opt/remi/php74/lib/php/session目录属主属组为:www
[root@web02 ~]#chown -R www.www /var/opt/remi/php74/lib/php/session
2)测试
重启nginx、php服务
[root@web02 ~]#systemctl restart nginx php74-php-fpm
浏览器打开:192.168.10.8:81
登录成功如下图:
至此,web01、web02部署phpmyadmin成功
4)接入负载均衡
将web01、web02的phpmyadmin服务(端口:81)接入负载均衡
负载均衡服务器:lb01,ip:192.168.10.5、172.16.1.5
1)负载均衡配置
[root@lb01 ~]#vim /etc/nginx/conf.d/phpmyadmin.conf
upstream phpmyadmin {
server 192.168.10.7:81;
server 192.168.10.8:81;
}
server {
listen 81;
server_name phpmyadmin.com;
error_log /var/log/nginx/phpmyadmin-error.log notice;
access_log /var/log/nginx/phpmyadmin-access.log main;
location / {
proxy_pass http://phpmyadmin;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Ip $remote_addr;
}
}
重启nginx
[root@lb01 ~]#systemctl restart nginx
2)测试
浏览器打开:192.168.10.5:81
登录出错:
原因:做了负载均衡,没有做会话保持,导致无法登录。
5)部署redis
在数据库服务器(db01)上部署redis
lb01:ip:192.168.10.51、172.16.1.51
1) 安装redis
[root@db01 ~]#yum install -y redis
2)配置redis
修改/etc/redis.conf配置文件,把bind 127.0.0.1改成bind 127.0.0.1 172.16.1.51
[root@db01 ~]#vim /etc/redis.conf
bind 127.0.0.1 172.16.1.51
3)启动redis
[root@db01 ~]#systemctl enable redis
[root@db01 ~]#systemctl start redis
redis服务端口:6379
6)修改web服务器的php配置
1)修改php配置文件
在前面的部署中,web01、02服务器的/etc/opt/remi/php74/php-fpm.d/session.conf文件的session配置使用默认的方式,即文件形式,如下:
php_value[session.save_handler] = files ;session以文件的形式保存
php_value[session.save_path] = /var/opt/remi/php74/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/opt/remi/php74/lib/php/wsdlcache
因此要修改为数据库形式,保存到redis中,修改如下:
[root@web01 ~]#vim /etc/opt/remi/php74/php-fpm.d/session.conf
php_value[session.save_handler] = redis
php_value[session.save_path] = tcp://172.16.1.51:6379
[root@web02 ~]#vim /etc/opt/remi/php74/php-fpm.d/session.conf
php_value[session.save_handler] = redis
php_value[session.save_path] = tcp://172.16.1.51:6379
重启两台服务器的php
[root@web01 ~]#systemctl restart php74-php-fpm
[root@web02 ~]#systemctl restart php74-php-fpm
2)测试
浏览器打开:192.168.10.5:81
显然报错。
原因,安装php的时候缺少支持redis的模块
7)安装php的redis模块
web01、02两台服务服务器安装php74-php-pecl-redis
[root@web01 ~]#yum install -y php74-php-pecl-redis
[root@web02 ~]#yum install -y php74-php-pecl-redis
安装完成后,重启php服务
[root@web01 ~]#systemctl restart php74-php-fpm
[root@web02 ~]#systemctl restart php74-php-fpm
8)最终测试
浏览器打开:192.168.10.5:81
登录成功:
至此,phpmyadmin项目接入负载均衡、会话保持部署成功
注意:
以上wordpress、phpmyadmin部署都是基于ip。如何使用域名部署,以wordpress为例:
web01、web02的wordpress站点nginx配置文件,监听80端口,域名假设为:lb.blog.com
负载均衡服务器nginx配置文件,监听端口为80,域名同样为:lb.blog.com
部署完毕后,本地Windows做好hosts解析,就可以使用lb.blog.com域名访问博客站点。如下图:
8、wordpress安装Redis插件
1、登录后台—>插件—>安装插件,搜索:Redis Object Cache
wordpress配置文件(wp-config.php)末尾添加:
/* Redis连接的IP与端口 */
define( 'WP_REDIS_HOST', '172.16.1.51' );
define( 'WP_REDIS_PORT', 6379 );
define('WP_REDIS_SCHEME','tcp');
/* Redis连接密码,如果Redis设置了密码 */
/* define( 'WP_REDIS_PASSWORD', 'secret' ); */
/* 失败前尝试初始连接到Redis服务器的时间(单位为秒)*/
define( 'WP_REDIS_TIMEOUT', 5 );
/* 失败前尝试从Redis服务器读取的时间 */
define( 'WP_REDIS_READ_TIMEOUT', 5 );
/* 更改每个站点的数据库以避免缓存冲突 */
define( 'WP_REDIS_DATABASE', 1 );
/* 支持的客户端: phpredis, credis, predis and hhvm */
define( 'WP_REDIS_CLIENT', 'phpredis' );
/* 7天后自动删除缓存密钥 */
define( 'WP_REDIS_MAXTTL', 60 * 60 * 24 * 7 );
/* 绕过对象缓存,这对调试很有用 */
define( 'WP_REDIS_DISABLED', true );
/* 设置所有缓存键的前缀,如果在同一服务器中有多个WordPress站点,可以设置不同前缀避免冲突*/
define( 'WP_REDIS_PREFIX, 'WP' );
2、安装phpredis扩展
phpredis:https://pecl.php.net/package/redis
web01、web02两服务器都要安装配置:
[root@web01 ~]#wget https://pecl.php.net/get/redis-5.3.7.tgz --no-check-certificate
安装:
[root@web01 ~]#tar xf redis-5.3.7.tgz
[root@web01 ~/redis-5.3.7]#/opt/remi/php74/root/usr/bin/phpize
Configuring for:
PHP Api Version: 20190902
Zend Module Api No: 20190902
Zend Extension Api No: 320190902
[root@web01 ~/redis-5.3.7]#./configure --with-php-config=/opt/remi/php74/root/usr/bin/php-config --enable-redis
[root@web01 ~/redis-5.3.7]#make && make install
安装完成看看redis.so是否存在:
[root@web01 ~/redis-5.3.7]#ll /opt/remi/php74/root/usr/lib64/php/modules/redis.so
配置:
[root@web01 ~/redis-5.3.7]#vim /etc/opt/remi/php74/php.d/20-redis.ini
;redis
extension=redis
重启php服务
但是,启动wordpress的redis会报错:
2、修改object-cache.php中的redis配置
默认Redis地址是:127.0.0.1,所以要修改。
[root@web01 /app/code/blog]#vim wp-content/plugins/redis-cache/includes/object-cache.php
protected function build_parameters() {
$parameters = [
'scheme' => 'tcp',
'host' => '172.16.1.51',
'port' => 6379,
'database' => 1,
'timeout' => 1,
'read_timeout' => 1,
'retry_interval' => null,
'persistent' => false,
];
最终效果如下:
redis成功开启
登录redis数据库,查看缓存,如下: