CentOS 7下搭建百万PV网站架构详述(4)

tar zxvf SLSaleSystem.tar.gz -C /usr/local/tomcat8/webapps/        #将会员商城的软件包解压至Tomcat的站点目录下
cd /usr/local/tomcat8/webapps/SLSaleSystem/WEB-INF/classes/
vim jdbc.properties          #修改数据库IP地址为VRRP虚拟地址,以及授权用户root和密码123456

CentOS 7下搭建百万PV网站架构详述

tomcatdown
tomcatup      #重新启动Tomcat服务让配置文件生效

#通过虚拟IP访问商城

CentOS 7下搭建百万PV网站架构详述

四 部署Redis群集(在主服务器和从服务器上做)

yum install epel-release -y        #使用centos7.4 默认源安装
yum install redis -y
vim /etc/redis.conf          #修改Redis主配置文件
bind 0.0.0.0

CentOS 7下搭建百万PV网站架构详述

systemctl start redis.service      #开启Redis服务
netstat -ntap | grep 6379        #查看监听端口
redis-cli -h 192.168.199.129 -p 6379    #在主服务器上测试连接
192.168.199.129:6379> set name test    #设置name,值是test
OK
192.168.199.129:6379> get name        #获取name值
"test"

接着在从服务器上也是进行同样的部署

CentOS 7下搭建百万PV网站架构详述


在从服务器上需要在配置文件中多加如下这句话,将地址指向主服务器

CentOS 7下搭建百万PV网站架构详述

systemctl start redis.service            #开启从服务器的Redis
redis-cli -h 192.168.199.130 -p 6379    #登录Redis
192.168.199.130:6379> get name      #查看name值
"test"                            #数据会从主服务器上同步

在两台Tomcat节点服务器配置商城项目中的连接redis的参数

vim /usr/local/tomcat8/webapps/SLSaleSystem/WEB-INF/classes/applicationContext-mybatis.xml
38        <!--redis 配置 开始-->
47                <constructor-arg value="192.168.199.188"/>
 48                <constructor-arg value="6379"/>

测试缓存效果

redis-cli -h 192.168.199.188 -p 6379
192.168.199.188:6379> info
keyspace_hits:1            #命中数
keyspace_misses:0          #未命中数

以下配置redis集群主从切换----只在主服务器上操作

redis-cli -h 192.168.199.129 info Replication
#Replication
role:master
connected_slaves:1
slave0:ip=192.168.199.130,port=6379,state=online,offset=1541,lag=1
master_repl_offset:1541
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:1540

vim /etc/redis-sentinel.conf
17 protected-mode no

CentOS 7下搭建百万PV网站架构详述

69 sentinel monitor mymaster 192.168.199.129 6379 1    #1表示有一台从服务器

CentOS 7下搭建百万PV网站架构详述

98 sentinel down-after-milliseconds mymaster 3000

CentOS 7下搭建百万PV网站架构详述

systemctl start redis-sentinel.service    #启动集群
netstat -ntap | grep 26379

systemctl start redis-sentinel.service    #在从服务器上启动集群
netstat -ntap | grep 26379

redis-cli -h 192.168.199.129 -p 26379 info Sentinel    #再次在主服务器上进行查看
#Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.199.129:6379,slaves=1,sentinels=2

验证主从切换
在主上

systemctl stop redis
redis-cli -h 192.168.199.129 -p 26379 info Sentinel
#Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.199.130:6379,slaves=1,sentinels=3    #主服务器进行了切换,如果再次开启主服务器,角色并不会切换,除非关掉从服务器

验证数据同步情况:

在主服务器上:
redis-cli -h 192.168.199.129 -p 6379
192.168.199.129:6379> set name2 test2
OK
192.168.199.129:6379> get name2
"test2"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b80e85f0f4051af4363f7bef3fb4a169.html