目录
nginx 作为负载均衡器,所有请求都到了nginx,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。这样nginx作为负载均衡器就没有实际意义。所以为了防止Nginx挂了导致整个服务无法使用的灾难发生,我们这里可以考虑使用Keepalived+Nginx集群实现高可用
nginx安装参考:Centos7.9环境下离线安装开源版Nginx(亲测版)_centos7.9离线安装nginx-CSDN博客
keepalived安装参考:Centos7.9环境下安装Keepalived(亲测版)-CSDN博客
在 /usr/local/nginx目录下创建nginx_check.sh文件,并编辑内容
- 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
! 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 服务