【Keepalived+Nginx负载均衡+web实验】弱龄寄事外,委怀在琴书。这篇文章主要讲述Keepalived+Nginx负载均衡+web实验相关的知识,希望能为你提供帮助。
实验拓扑
实验目的为了实现nginx实现负载均衡和keepalived高可用,从而保障web1和web2提供的服务
nginx172.16.10.11
安装nginx keepaliveddnf -y install nginx keepalived;
systemctl enable --now nginx keepalived#172.16.10.12设备同时安装,方便远程传文件
systemctl status nginx keepalived#检查状态,有问题的请查看错误日志
配置nginxvim /etc/nginx/nginx.conf#具体配置看下面图一
scp /etc/nginx/nginx.conf root@172.16.10.12:/etc/nginx/nginx.conf
图一:nginx.conf配置
vim /etc/keepalived/keepalived.conf
#文本内容
vrrp_gna_interval 0
! Configuration File for keepalived
global_defs
notification_email
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id ka1.linweiwei.com
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
include /etc/keepalived/conf.d/*conf
#保存退出
mkdir /etc/keepalived/conf.d/ -pv
vim /etc/keepalived/conf.d/keepalived.conf
#文本内容
vrrp_instance keepalived
state MASTER
interface eth0
virtual_router_id 61
priority 100
advert_int 1
authentication
auth_type PASS
auth_pass 123456
virtual_ipaddress
172.16.10.200/24 dev eth0 label eth0:1
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
track_script
check_down#利用VRRP-Script脚本判断应用程序的健康性
#保存退出
scp /etc/keepalived/conf.d/keepalived.conf root@172.16.10.12:/etc/keepalived/conf.d/keepalived.conf
scp /etc/keepalived/keepalived.conf root@172.16.10.11:/etc/keepalived/keepalived.conf
systemctl restart keepalived.service
[root@Centos8 keepalived]# hostname -I
172.16.10.12 172.16.10.200#172.16.10.200的VIP出现
nginx172.16.10.12
dnf -y install nginx keepalived;
systemctl enable --now nginx keepalived
systemctl status nginx keepalived#检查状态,有问题的请查看错误日志
vim /etc/keepalived/keepalived.conf
router_id ka1.linweiwei.com改成router_id ka2.linweiwei.com
vim /etc/keepalived/conf.d/keepalived.conf
state MASTER 改成state BACKUP
virtual_router_id 61 改成virtual_router_id 62
priority 80
#保存退出
systemctl restart keepalived.service
配置web1 172.16.10.8
yum -y install httpd;
systemctl enable --now httpd
echo "This is Keepalived+Nginx+web test by web1_172.16.10.8 ">
/var/www/html/index.html
配置web2 172.16.10.9
yum -y install httpd;
systemctl enable --now httpd
echo "This is Keepalived+Nginx+web test by web2_172.16.10.9 ">
/var/www/html/index.html
配置客户机
测试结果负载均衡web1和web2正常
高可用部分,我们模拟172.16.10.11故障关机
关机前VIP的情况
[root@Centos8 keepalived]# ip a
1: lo: <
LOOPBACK,UP,LOWER_UP>
mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <
BROADCAST,MULTICAST,UP,LOWER_UP>
mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:1b:67:3f brd ff:ff:ff:ff:ff:ff
inet 172.16.10.11/24 brd 172.16.10.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet 172.16.10.200/24 scope global secondary eth0:1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe1b:673f/64 scope link
valid_lft forever preferred_lft forever
172.16.10.11故障关机后,172.16.10.12获得VIP,我们再看看网页情况,收官~
推荐阅读
- Keepalived VRRP-Script抢占延迟VIP单播详解
- Linux 练习
- ansible 使用方法详解
- Linux环境监控工具汇总
- sftp连接不上服务器#yyds干货盘点#
- nginx安装
- #yyds干货盘点#Prometheus 之服务发现介绍
- yum提示Error rpmdb open failed错误的解决办法#yyds干货盘点#
- #yyds干货盘点#Prometheus 之 PromQL 介绍