腾讯云CVM搭建keepalived+nginx高可用(主备热备+双机热备模式)

本文详细介绍了如何在腾讯云CVM上搭建keepalived+nginx的主备热备和双机热备模式,包括环境准备、nginx与keepalived的安装、配置检查脚本、邮件报警、主备与双机热备模式的配置及测试,确保高可用虚拟IP的稳定切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【前言】本文是在腾讯云CVM下,搭建云服务器keepalived+nginx主备热备+双机热备。

一、【环境搭建】

1、环境准备

  • 2台腾讯云CVM (同一地域,一台master(172.16.0.7),一台backup(172.16.0.9))
    在这里插入图片描述
  • 2个高可用虚拟IP (172.16.0.6、172.16.0.8)(搭建主备只需1个高可用虚拟ip,双主需要2个)
    (具体可参考这篇文章:创建高可用虚拟 IP)
    在这里插入图片描述

2、nginx、keepalived安装

nginx安装自行百度,下面介绍安装keepalived。

安装keepalived:

yum install -y keepalived

常用命令:

#启动
systemctl start keepalived
#停止
systemctl stop keepalived
重启# 
systemctl restart keepalived
#查看状态
systemctl status keepalived
#设置开机启动
systemctl enable keepalived
#关闭开机启动
systemctl disable keepalived

配置keepalived.conf:

vim /etc/keepalived/keepalived.conf

二、【keepalived相关配置】

1、nginx脚本: 创建 check_nginx.sh 文件,判断nginx进程没有数值,尝试重启nginx服务,睡眠2秒,再判断nginx进程有没有数值,没有则停止keepalived服务,高可用虚拟ip则会自动转到备机。

cd /etc/keepalived
vim check_nginx.sh

check_nginx.sh 内容:

#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
    /usr/bin/nginx
    sleep 2
    counter=$(ps -C nginx --no-heading|wc -l)
    if [ "${counter}" = "0" ]; then
      systemctl stop keepalived
    fi
fi

2、keepalived邮件报警配置

说明: 实际生产中不适用keepalived自带的邮件功能,所以使用shell脚本发邮件实现报警。

linux 配置发邮件参考《Linux(centos8) 腾讯云CVM配置SMTPS发邮件

创建 notify.sh 文件:

cd /etc/keepalived
vim check_nginx.sh

notify.sh 内容:

#!/bin/bash
contact=lisuibi@163.com #接收报警的邮箱
notify() {
   
   mailsubject="$(hostname) to be $1, vip转移"
   mailbody="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值