目录
一、负载均衡高可用解释
nginx 作为负载均衡器,所有请求都到了nginx,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。这样nginx作为负载均衡器就没有实际意义。所以为了防止Nginx挂了导致整个服务无法使用的灾难发生,我们这里可以考虑使用Keepalived+Nginx集群实现高可用
二、安装
nginx安装参考:Centos7.9环境下离线安装开源版Nginx(亲测版)_centos7.9离线安装nginx-CSDN博客
keepalived安装参考:Centos7.9环境下安装Keepalived(亲测版)-CSDN博客
三、Nginx检查脚本创建
在 /usr/local/nginx目录下创建nginx_check.sh文件,并编辑内容
c
vi /usr/local/nginx/nginx_check.sh
#编辑内容如下
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
确保给这个脚本执行权限
chmod +x
/usr/local/nginx/nginx_check.sh
四、修改keepalived配置文件
! Configuration File for keepalived
global_defs {
router_id lb132
}
vrrp_script chk_nginx {
script "/usr/local/nginx/nginx_check.sh"
interval 2
weight -30
}
vrrp_instance VI_1 {
state MASTER
nopreempt
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.75.131
}
}
按照以上配置,配置其他服务节点并重启keepalived 服务