nginx和keepalived

为避免受影响所有主机关闭防火墙和selinux
实验环境:
RS1:rip(192.168.100.243),安装httpd软件包;
RS2:rip(192.168.100.244),安装httpd软件包;

director1:vip(192.168.100.88),dip(192.168.100.242),安装nginx、keepalived软件包
director2:vip(192.168.100.89),dip(192.168.100.246),安装nginx、keepalived软件包

进行时间同步
(1)在两台keepalived高可用主机上安装keepalived和nginx软件包,并提供配置文件。
a.首先使用时间同步,保证节点上的时间是同步的。
b.首先使用nginx反向代理实现后台RS上的web服务的负载均衡,在nginx的主配置文件(/etc/nginx/nginx.conf)中,进行修改。
在http段中添加upstream,将后端两台RS加入到该upstream中,并且在server段中location /{}中加入代理,实现负载均衡调度。

vim /etc/nginx/nginx.conf
nginx和keepalived

进行检测,是否实现了后端RS的轮询调度
curl 192.168.100.246
curl 192.168.100.242

2 上述说明已经通过nginx的反向代理实现了http服务的负载均衡。在此处就可以开始配置keepalived的主配置文件,实现对nginx的高可
用 在192.168.100.242
keepalived的配置文件1:

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script “killall -0 nginx &> /dev/null”
interval 1
weight -10
}

vrrp_instance VI_1 {
state MASTER
interface eth1
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.88/32 dev eth1
}
track_script {
chk_nginx
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth1
virtual_router_id 15
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1010
}
virtual_ipaddress {
192.168.100.89/32 dev eth1
}
track_script {
chk_nginx
}
}

配置文件2 在192.168.100.246
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_script chk_nginx {
script “killall -0 nginx &> /dev/null”
interval 1
weight -10
}

vrrp_instance VI_1 {
state BACKUP
interface ens37
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.88/32 dev ens37
}
track_script {
chk_nginx
}
}
vrrp_instance VI_2 {
state MASTER
interface ens37
virtual_router_id 15
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1010
}
virtual_ipaddress {
192.168.100.89/32 dev ens37
}
track_script {
chk_nginx
}
}

D1和D2 都执行

systemctl start keepalived

ip a 查看ip 分配
nginx和keepalived

nginx和keepalived

使一台机器挂了可以看到ip的流动

nginx和keepalived