1、前期准备:
(1) 两台服务器(一个主,一个备)
(2) 主备两台服务器都安装NGINX
(3) 主备两台服务器都安装keepalived
2、安装NGINX:
(1) 使用NGINX官方提供的rpm包配置NGINX的yum源
[root@lzl ~]# cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
(2) yum安装NGINX
[root@lzl ~]# yum install -y nginx
[root@lzl ~]# systemctl start nginx
[root@lzl ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
3、安装keepalived:
[root@lzl ~]# yum install -y keepalived
(1) 配置主服务器上的keepalived
[root@lzl ~]# cd /etc/keepalived/
[root@lzl keepalived]# cp keepalived.conf keepalived.conf.bak
[root@lzl keepalived]# > keepalived.conf
[root@lzl keepalived]# cat keepalived.conf
[root@lzl keepalived]# vi keepalived.conf[root@lzl keepalived]# cat keepalived.conf
global_defs {
vrrp_garp_interval 0
vrrp_gna_interval 0
}
#VIP1
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 50
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.60.83
}
}
(2) 配置备服务器的keepalived
先把备节点上的keepalived.conf备份:
[root@hh ~]# cd /etc/keepalived/
[root@hh keepalived]# cp keepalived.conf keepalived.conf.bak
[root@hh keepalived]# > keepalived.conf
[root@hh keepalived]# cat keepalived.conf
[root@hh keepalived]#
然后将主节点上的keepalived.conf文件传到备节点上:
[root@lzl keepalived]# scp /etc/keepalived/keepalived.conf root@192.168.60.9:/etc/keepalived/keepalived.conf
The authenticity of host '192.168.60.9 (192.168.60.9)' can't be established.
ECDSA key fingerprint is SHA256:yfhFf20ZhHOC8k7Gh0XWXpnCy90l99dVH07pbH+k8zw.
ECDSA key fingerprint is MD5:05:7c:5c:52:88:29:6e:9c:61:42:00:62:92:85:94:55.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.60.9' (ECDSA) to the list of known hosts.
root@192.168.60.9's password:
keepalived.conf 100% 355 121.4KB/s 00:00
再去备节点上修改keepalived.conf文件:
只需要修改state BACKUP和priority 90:
[root@hh keepalived]# cat keepalived.conf
global_defs {
vrrp_garp_interval 0
vrrp_gna_interval 0
}
#VIP1
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 50
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.60.83
}
}
4、配置准备NGINX:
(1) 主节点:
[root@lzl keepalived]# cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.bak
[root@lzl keepalived]# > /usr/share/nginx/html/index.html
[root@lzl keepalived]# vi /usr/share/nginx/html/index.html
[root@lzl ~]# cat /usr/share/nginx/html/index.html
000111(随便添加点啥都行)
(2)备节点:
[root@hh keepalived]# cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.bak
[root@hh keepalived]# > /usr/share/nginx/html/index.html
[root@hh keepalived]# cat /usr/share/nginx/html/index.html
[root@hh keepalived]# vi /usr/share/nginx/html/index.html
[root@hh keepalived]# cat /usr/share/nginx/html/index.html
222000 (注意别跟主一样)
5、启动服务并开机自启:(两台都启动)
[root@hh keepalived]# systemctl start nginx
[root@hh keepalived]# systemctl start keepalived
[root@hh keepalived]# systemctl enable keepalived
Created symlink from /etc/systemd/system/multi-user.target.wants/keepalived.service to /usr/lib/systemd/system/keepalived.service.
[root@hh keepalived]# systemctl enable nginx
6、去网站访问个站点:
在网址栏直接输入IP即可
7、三个站点都出来后测试主备切换
在主节点上:systemctl stop keepalived
刷新VIP的页面,发现已经切换到备节点
再在主节点重新开启:systemctl start keepalived
重新刷新VIP的页面,发现又切换到主节点