首页 > 编程学习 > nginx高可用实例

nginx高可用实例

发布时间:2022/10/1 7:03:33

文章目录

    • 1.准备两台服务器,分别安装nginx
    • 2.在Centos7和Centos7test服务器中分别安装keepalive
    • 3.keepalived 安装成功后存放的位置
    • 4.在Centos7中修改keepalived文件
    • 5.在Centos7中在/usr/local/src 添加nginx_check.sh脚本文件
    • 6.在Centos7test中修改keepalived
    • 7.在Centos7test中在/usr/local/src 添加nginx_check.sh脚本文件
    • 8.修改主服务器Centos7中的hosts文件,添加映射
    • 9.将两台服务器中的nginx和keepalived启动
    • 10.测试
    • 11.关闭keepalived和nginx

1.准备两台服务器,分别安装nginx

2.在Centos7和Centos7test服务器中分别安装keepalive

在这里插入图片描述
在这里插入图片描述

3.keepalived 安装成功后存放的位置

在这里插入图片描述
在这里插入图片描述

4.在Centos7中修改keepalived文件

! 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.204.129
   smtp_connect_timeout 30
   router_id LVS_DEVEL # 访问到主机
}

vrrp_script chk_http_port {
	script "/usr/local/src/nginx_check.sh"
	interval 2	#(检测脚本执行的间隔)			
	weight 2	# 权重	
}		


vrrp_instance VI_1 {
	state MASTER # 备份服务器上将 MASTER 改为 BACKUP
	interface ens33 # 网卡
	virtual_router_id 51   # 主、备机的 virtual_router_id 必须相同
	priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小
	advert_int 1 # 检测主机是否活着
	authentication {  # 校验方式
		auth_type PASS
		auth_pass 1111
	}
	virtual_ipaddress {
		192.168.204.50 // VRRP H 虚拟地址
	}

}


在这里插入图片描述

5.在Centos7中在/usr/local/src 添加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

在这里插入图片描述

6.在Centos7test中修改keepalived

! 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.204.129
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script chk_http_port {
	script "/usr/local/src/nginx_check.sh"
	interval 2	#(检测脚本执行的间隔)			
	weight 2		
}		


vrrp_instance VI_1 {
	state BACKUP # 备份服务器上将 MASTER 改为 BACKUP
	interface ens33 # 网卡
	virtual_router_id 51   # 主、备机的 virtual_router_id 必须相同
	priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
	advert_int 1
	authentication {
		auth_type PASS
		auth_pass 1111
	}
	virtual_ipaddress {
		192.168.204.50 // VRRP H 虚拟地址
	}

}


7.在Centos7test中在/usr/local/src 添加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

8.修改主服务器Centos7中的hosts文件,添加映射

在这里插入图片描述
在这里插入图片描述

9.将两台服务器中的nginx和keepalived启动

在这里插入图片描述

10.测试

在这里插入图片描述

11.关闭keepalived和nginx

在这里插入图片描述

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号