CentOS7-Nginx配置高可用集群

CentOS7-Nginx配置高可用集群

1、什么是Nginx 高可用

在这里插入图片描述

2、准备工作

(1)两台Nginx服务器
(2)keepalived
(3)虚拟IP

CentOS7-安装Nginx

-- 安装 keepalived
yum install -y keepalived

-- 验证
rpm -q -a keepalived

在这里插入图片描述

-- 在 /etc/keepalived 目录下生成 keepalived.conf

3、keepalived.conf 主从配置

1、192.168.137.131主机 keepalived.conf 配置

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

! Configuration File for keepalived

# 全局配置
global_defs {

    # 邮件通知信息
    notification_email {

		# 定义收件人
        acassen@firewall.loc

        failover@firewall.loc

        sysadmin@firewall.loc
     }

		# 定义发件人
        notification_email_from Alexandre.Cassen@firewall.loc
		
		# 表示发送email时使用的smtp服务器地址,可以用本地的sendmail来实现
        smtp_server 127.0.0.1 

		# 连接smtp连接超时时间
        smtp_connect_timeout 30

		# 路由器标识,一般不用改,也可以写成每个主机自己的主机名
        router_id LVS_DEVEL 
}

# 定义脚本名字和脚本执行的间隔和脚本执行的优先级变更
vrrp_script chk_http_port {
		
		# 检测Nginx状态脚本位置
        script "/usr/local/src/nginx_check.sh"
		
		# 检测脚本执行的间隔
        interval 2 
		
		# 权重
        weight 2 
}

# 定义一个虚拟路由器的,实例名称
vrrp_instance VI_1 {

	# 备份服务器上将 MASTER 改为 BACKUP
    state MASTER 
	
	# 绑定当前使用的网卡名称
    interface ens32 
	
	# 主、备机的 virtual_router_id 必须相同
    virtual_router_id 51  
	
	# 主、备机取不同的优先级,主机值较大,备份机值较小
    priority 100  
	
	# 检查间隔,默认为1秒
    advert_int 1
	
	# 通信认证机制,这里是明文认证还有一种是加密认证
    authentication {
        auth_type PASS
        auth_pass 1111
    }

	#  设置虚拟VIP地址,一般就设置一个,在LVS中这个就是为LVS主机设置VIP的,这样你就不用自己手动设置了
    virtual_ipaddress {
	
        192.168.137.50 
    }

}
-- 在 /etc/ 目录下的 hosts文件中,新增上
127.0.0.1 LVS_DEVEL

在这里插入图片描述

Keepalived.conf文件详解描述—昀溪

2、192.168.137.131主机 nginx_check.sh 配置

位置:/usr/local/src/

#!/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
3、192.168.1.101备份机 keepalived.conf 配置

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

! Configuration File for keepalived

# 全局配置
global_defs {

    # 邮件通知信息
    notification_email {

		# 定义收件人
        acassen@firewall.loc

        failover@firewall.loc

        sysadmin@firewall.loc
     }

		# 定义发件人
        notification_email_from Alexandre.Cassen@firewall.loc
		
		# 表示发送email时使用的smtp服务器地址,可以用本地的sendmail来实现
        smtp_server 127.0.0.1 

		# 连接smtp连接超时时间
        smtp_connect_timeout 30

		# 路由器标识,一般不用改,也可以写成每个主机自己的主机名
        router_id LVS_DEVEL 
}

# 定义脚本名字和脚本执行的间隔和脚本执行的优先级变更
vrrp_script chk_http_port {
		
		# 检测Nginx状态脚本位置
        script "/usr/local/src/nginx_check.sh"
		
		# 检测脚本执行的间隔
        interval 2 
		
		# 权重
        weight 2 
}

# 定义一个虚拟路由器的,实例名称
vrrp_instance VI_1 {

	# 备份服务器上将 MASTER 改为 BACKUP
    state BACKUP 
	
	# 绑定当前使用的网卡名称
    interface ens33 
	
	# 主、备机的 virtual_router_id 必须相同
    virtual_router_id 51  
	
	# 主、备机取不同的优先级,主机值较大,备份机值较小
    priority 90  
	
	# 检查间隔,默认为1秒
    advert_int 1
	
	# 通信认证机制,这里是明文认证还有一种是加密认证
    authentication {
        auth_type PASS
        auth_pass 1111
    }

	#  设置虚拟VIP地址,一般就设置一个,在LVS中这个就是为LVS主机设置VIP的,这样你就不用自己手动设置了
    virtual_ipaddress {
	
        192.168.137.50 
    }

}
4、192.168.1.101备份机 nginx_check.sh 配置

位置:/usr/local/src/

#!/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

4、启动两台虚拟机上的Nginx和Keepalived

(1) 启动主机192.168.137.131的 Nginx和Keepalived

在这里插入图片描述

systemctl start keepalived.service

在这里插入图片描述

(2)启动备份机192.168.1.101的 Nginx和Keepalived

在这里插入图片描述

systemctl start keepalived.service

在这里插入图片描述

5、测试访问虚拟IP

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

6、关闭主机Nginx和Keepalived,再次访问虚拟IP

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值