ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

CentOS 搭建 高可用 Nginx 集群(keepalived)

2022-01-08 13:02:51  阅读:142  来源: 互联网

标签:loc CentOS nginx firewall 30 keepalived Nginx 服务器


1.准备工作

  1. 两台 CentOS 服务器(主备模式)
  2. 服务器处于同一网段,可相互 ping 通

2.安装 nginx

具体步骤参见:CentOS 安装 Nginx_番茄烩土豆的博客-CSDN博客

3.关闭防火墙

systemctl stop firewalld.service

4.安装 keepalived

yum install -y keepalived

5.配置 keepalived

vim /etc/keepalived/keepalived.conf
  • 配置MASTER
! 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.200.1
   smtp_connect_timeout 30
   router_id master                          # master为hostname,主机标识 
}

vrrp_script chk_nginx {
	script "/etc/keepalived/chk_nginx.sh"    # 检测脚本
	interval 2                               # 执行脚本间隔 2s
	weight -30                               # 本服务器宕机后权重减少 -30
}

vrrp_instance VI_1 {
    state MASTER                             # MASTER主服务器,BACKUP备份服务器
    interface enp0s3                         # 网卡
    virtual_router_id 51                     # 虚拟路由ID,主备必须一致
    priority 100                             # 优先级,即权重
    advert_int 1                             # 服务器心跳 1s 检测一次
    authentication {
        auth_type PASS                       # 认证方式
        auth_pass 1111                       # 密码
    }
    virtual_ipaddress {
        192.168.0.140                        # 虚拟地址,可多个
    }
}
  • 配置BACKUP
! 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.200.1
   smtp_connect_timeout 30
   router_id node                            # node为hostname,主机标识 
}

vrrp_script chk_nginx {
	script "/etc/keepalived/chk_nginx.sh"    # 检测脚本
	interval 2                               # 执行脚本间隔 2s
	weight -30                               # 本服务器宕机后权重减少 -30
}

vrrp_instance VI_1 {
    state BACKUP                             # MASTER主服务器,BACKUP备份服务器
    interface enp0s3                         # 网卡
    virtual_router_id 51                     # 虚拟路由ID,主备必须一致
    priority 80                              # 优先级,即权重
    advert_int 1                             # 服务器心跳 1s 检测一次
    authentication {
        auth_type PASS                       # 认证方式
        auth_pass 1111                       # 密码
    }
    virtual_ipaddress {
        192.168.0.140                        # 虚拟地址,可多个
    }
}

 6.nginx 检测脚本

检测脚本地址:chk_nginx.sh-Linux文档类资源-CSDN下载【作者分享,不收$】chk_nginx.sh-Linux文档类资源-CSDN下载

将下载的脚本放到两台服务器的 /etc/keepalived/ 目录下即可

7.启动 keepalived

systemctl start keepalived.service

8.测试

# 1. 浏览器地址栏中输入虚拟地址(vip): 192.168.0.140

# 2. 出现 nginx 起始页,表示 MASTER 搭建成功

# 3. 关闭 MASTER 服务器

systemctl stop keepalived.service

# 4. 继续执行第一步,浏览器地址栏中输入虚拟地址(vip)

# 5. 出现 nginx 起始页,表示 BACKUP 搭建成功

标签:loc,CentOS,nginx,firewall,30,keepalived,Nginx,服务器
来源: https://blog.csdn.net/qq_44268152/article/details/122361928

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有