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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值