全国服务热线:13864198606

新闻中心 PRODUCT DISPLAY

罗定搭建Keepalived Nginx高可用Web集群

来源: 发布时间:2024-06-21 1925 次浏览

虚拟IP(VIP)主要用于弹性云服务器的主备切换,达到高可用性HA(High Availabilit

操作场景

虚拟IP(VIP)主要用于弹性云服务器的主备切换,达到高可用性HA(High Availability)的目的。当主服务器发生故障无法对外提供服务时,动态将虚拟IP切换到备服务器,继续对外提供服务。

服务器和云服务器__华为云服务网站__桌面云

本文档以弹性云服务器的CentOS 7.4 64位操作系统为例,实现Keepalived+Nginx高可用WEB集群搭建。

背景知识

WEB集群是由多台Web服务器主机相互联结而形成的一种服务器体系结构,一般结构主要由负载均衡器和后端多个Web节点组成。用户访问请求首先进入负载均衡器,由它根据负载均衡策略将请求分配给后端某个Web应用节点。

本文档采用Nginx实现负载均衡。

网络拓扑

数据规划如下:

实现方式如下:

将2台同子网的弹性云服务器配置Keepalived,一台为主服务器,一台为备份服务器。

将这2台弹性云服务器绑定同一个虚拟IP。

将虚拟IP与弹性公网IP绑定,从互联网可以访问绑定了该虚拟IP地址的主备云服务器。

图1 组网图

说明:

实际环境按业务实际需要选择区域购买。

所有云资源须在同一区域。

操作步骤

本场景整体操作流程如下:

图2 配置流程

创建虚拟私有云和子网

登录管理控制台。

选择“服务列表 > 网络 > 虚拟私有云”。

单击“创建虚拟私有云”。

根据界面提示配置参数,请参考表2。

表2 配置参数

单击“立即创建”。

申请所需云资源

购买弹性云服务器。

登录管理控制台。

选择“服务列表 > 计算 > 弹性云服务器”。

单击“购买弹性云服务器”。

在"购买弹性云服务器"页面,根据界面提示配置参数,请参考表1。

单击“立即购买”,购买弹性云服务器“ecs-HA1”和“ecs-HA2”。

说明:

此示例未选购数据盘,实际环境使用时请按业务需求选购数据盘,并切实考虑两个节点之间业务数据一致性问题。

(可选)配置安全组规则,确保两个ECS内网互通。

此示例中两个ECS位于同一个安全组内,则默认内网互通,不需要执行本操作。

如果您的两个ECS如果位于不同的安全组内,那么需要分别在两个安全组的入方向规则中添加另外一个安全组ID,以确保两个ECS的内网互通,详细说明请参见不同安全组内的弹性云服务器内网互通。

购买弹性公网IP。

登录管理控制台。

选择“服务列表 > 网络 > 弹性公网IP”。

单击“购买弹性公网IP”,根据界面提示配置参数。请参考表1。

申请虚拟IP地址。

登录管理控制台。

选择“服务列表 > 网络 > 虚拟私有云”。

在左侧导航栏选择“子网”。

在“子网”列表中,单击子网名称。

在“IP地址管理”页签中,单击“申请虚拟IP地址”,根据界面提示配置参数。

配置弹性云服务器环境

配置弹性云服务器ecs-HA1环境。

绑定弹性公网IP 122.xx.xx.189到ecs-HA1。

登录管理控制台。

选择“服务列表 > 计算 > 弹性云服务器”。

在弹性云服务器列表,单击弹性云服务器名称ecs-HA1。

单击“弹性公网IP”页签,并单击“绑定弹性公网IP”。

在"绑定弹性公网IP"页面,选择网卡和弹性公网IP后,单击“确定”。

通过SSH连接ecs-HA1,执行以下命令安装nginx、keepalived软件包及相关依赖包。

yum install nginx keepalived -y

执行以下命令,编辑nginx配置文件并保存。

vim /etc/nginx/nginx.conf

示例如下所示:

执行以下命令,编辑index.html文件内容以演示访问效果并保存。

vim /usr/share/nginx/html/index.html

示例如下所示:

Welcome to ECS-HA1

执行以下命令,设置nginx服务开机自启动并启动服务。

systemctl enable nginx

systemctl start nginx.service

Nginx单节点访问验证。

图3 ECS-HA1访问验证

执行以下命令,编辑keepalived配置文件并保存。

vim /etc/keepalived/keepalived.conf

示例如下所示:

执行以下命令,编辑nginx监控脚本并保存。

vim /etc/keepalived/chk_nginx.sh

示例如下所示:

chmod +x /etc/keepalived/chk_nginx.sh

执行以下命令,设置keepalived服务开机自启动并启动服务。

systemctl enable keepalived

systemctl start keepalived.service

配置弹性云服务器ecs-HA2环境。

将弹性公网IP 122.xx.xx.189从ecs-HA1解绑定。

登录管理控制台。

选择“服务列表 > 计算 > 弹性云服务器”。

在弹性云服务器列表,单击弹性云服务器名称ecs-HA1。

单击“弹性公网IP”页签。

在弹性公网IP为122.xx.xx.189所在行,单击“解绑”。

绑定弹性公网IP 122.xx.xx.189到ecs-HA2。

登录管理控制台。

选择“服务列表 > 计算 > 弹性云服务器”。

在弹性云服务器列表,单击弹性云服务器名称ecs-HA2。

单击“弹性公网IP”页签。

单击“绑定弹性公网IP”

选择网卡和弹性公网IP后,单击“确定”。

通过ssh连接ecs-HA2,执行以下命令,安装nginx、keepalived软件包及相关依赖包。

yum install nginx keepalived -y

执行以下命令,编辑nginx配置文件。

vim /etc/nginx/nginx.conf

内容示例如下:

执行以下命令,编辑index.html文件内容以演示访问效果。

vim /usr/share/nginx/html/index.html

执行以下命令,设置nginx服务开机自启动并启动服务。

systemctl enable nginx

systemctl start nginx.service

Nginx单节点访问测试。

图4 ECS-HA2验证结果

执行以下命令,编辑keepalived配置文件。

vim /etc/keepalived/keepalived.conf

内容示例如下:

执行以下命令,编辑nginx监控脚本并添加执行权限。

vim /etc/keepalived/chk_nginx.sh

内容示例如下:

chmod +x /etc/keepalived/chk_nginx.sh

执行以下命令,设置keepalived服务开机自启动并启动服务。

systemctl enable keepalived

systemctl start keepalived

绑定虚拟IP

将弹性公网IP 122.xx.xx.189从ecs-HA2解绑定。

将虚拟IP绑定到弹性云服务器ecs-HA1。

登录管理控制台。

选择“服务列表 > 网络 > 虚拟私有云”。

在左侧导航栏选择“子网”。

在“子网”列表中,单击子网名称。

选择“IP地址管理”页签,在虚拟IP所在行的操作列下单击“绑定服务器”。

在弹出的页面,选择ecs HA1服务器。

参考2将虚拟IP绑定到弹性云服务器ecs-HA2。

将虚拟IP绑定弹性公网IP 122.xx.xx.189。

登录管理控制台。

选择“服务列表 > 网络 > 虚拟私有云”。

在左侧导航栏选择“子网”。

在“子网”列表中,单击子网名称。

选择“IP地址管理”页签,在虚拟IP所在行的操作列下单击“绑定弹性公网IP”。

在弹出的页面,选择弹性公网IP 122.xx.xx.189。

单击“确定”。

验证结果

执行reboot分别重启ecs-HA1和ecs-HA2。

通过管理控制台远程登录到ecs-HA1。

执行以下命令,查看虚拟IP是否有绑定到ecs-HA1的eth0网卡上。

ip addr show

如图5,表示虚拟IP已经绑定到ecs-HA1的eth0网卡上。

图5 查看ecs-HA1的虚拟IP

通过浏览器访问弹性公网IP,验证是否可以访问到ecs-HA1节点上的Web页面。

如图6所示,表示访问正常。

图6 访问验证ecs-HA1

执行以下命令,停止ecs-HA1上的keepalived服务。

systemctl stop keepalived.service

执行以下命令,查看服务器ecs-HA2是否有接管虚拟IP。

ip addr show

通过浏览器访问弹性公网IP,验证是否可以访问到ecs-HA2节点上的Web页面。

如图8所示,表示访问正常。



华为云共建智能世界云底座[52] 华为公有云专属云主机DeH服务[51] 华为云场景化解决方案[49] 华为公有云产品[44] 华为云云主机[43] 华为云产品服务[43] 华为云服务器应用[43] 华为弹性云服务器[39] 华为公有云架构解决方案[38] 华为云提供的服务[37] 华为虚拟私有云vpc[37] 华为公有云介绍[32] 华为公有云提供哪些计算服务[30] 华为云漏洞扫描[27] 华为云软件开发服务[27] 华为公有云和私有云区别[27] 华为云域名注册[26] 华为云官网登陆[26] 华为公有云解决方案[26] 华为私有云产品有哪些[26] 华为私有云服务[25] 华为云数据库[23] 华为云安全[22] 华为公有云官网[22] 华为私有云的搭建方案[22] 华为云弹性云服务器应用[21] 华为公有云平台[20] 华为公有云行业解决方案[20] 华为私有云解决方案服务定制领导者[20] [19] 华为私有云服务器[19] 华为私有云网格结构[19] 华为公有云视讯解决方案[18] 华为云官网[17] 华为云速建站[17] 华为私有云架构[17] 华为云优势[16] 华为云服务器[16] 华为私有云部署架构[16] 华为云企业邮箱服务 (SAAS[15] 华为云邮箱[15] 华为公有云是什么[15] 华为公有云架构[15] 华为云迁移解决方案[14] 华为公有云解决方案服务定制领导者[14] 华为私有云解决方案[14] 云邮箱)[13] 华为云园区解决方案[13] 华为云服务总代理[13] 华为云速智能客服[13] 华为公有云服务[13] 华为私有云搭建方案[13] 云与计算咨询服务[12] 云与计算培训服务[11] 华为云备份[11] 华为云服务器配置[11] 华为云服务服务中心[11] 华为云服务核心分销商[11] 华为公有云[11] 华为私有云搭建[11] 云迁移与运营支撑服务[10] 公有云私有云混合云[10] 华为云服务器ECS[10] 华为云服务器成功案例[10] 华为云解决方案[10] 华为公有云通用解决方案[9] 华为智慧云课堂解决方案[9] 华为云数据解决方案[8] 华为云是什么[8] 华为私有云平台[8] 云与计算客户支持与运维使能服务[7] 华为云官网网站[7] 华为云智慧教育解决方案[7] 华为云智慧校园解决方案[7] 华为云桌面系统集成商[7] 华为云经销商[7] 华为代理公司有哪些[7] 华为私有云方案[7] 智慧教育云平台解决方案[7] 华为云服务器试用[6] 华为云网站建设服务器[6] 华为手机代理加盟[6] 华为私有云[6] 大数据使能服务[6] 智慧教育云计算解决方案[6] 华为云云主机 [5] 华为云智慧***解决方案[5] 华为云桌面总代理商[5] 云与计算客户支持服务[4] 华为云产品介绍[4] 华为云智慧制造解决方案[4] 华为云场景化解决方案[3] 华为公有云官网[3] 华为公有云通用解决方案[3] 华为弹性云服务器[3] 华为公有云产品 [3] 华为云产品服务[2] 华为云域名注册[2] 华为云数据库[2] 华为云智慧校园解决方案[2] 华为云服务器应用[2] 华为云服务器成功案例[2] 华为云软件开发服务[2] 华为公有云产品[2] 华为公有云介绍[2] 华为公有云和私有云区别[2] 华为公有云服务[2] 华为公有云架构[2] 华为公有云架构解决方案[2] 华为公有云视讯解决方案[2] 华为公有云解决方案[2] 华为私有云产品有哪些[2] 华为私有云服务[2] 华为私有云架构[2] 智慧教育云计算解决方案[2] 云规划设计与实施服务[2] 云邮箱[2] 华为云产品报价[2] 华为公有云通用解决方案 [2] 华为云服务器成功案例[1] 华为云桌面系统集成商[1] 云与计算客户支持与运维使能服务[1] 云迁移与运营支撑服务[1] 云迁移与运营支撑服务 [1] 华为云共建智能世界云底座[1] 华为云备份[1] 华为云安全[1] 华为云官网登陆[1] 华为云弹性云服务器应用[1] 华为云提供的服务[1] 华为云数据解决方案[1] 华为云智慧制造解决方案[1] 华为云服务器[1] 华为云服务核心分销商 [1] 华为云漏洞扫描[1] 华为云迁移解决方案 [1] 华为云速智能客服[1] 华为云邮箱[1] 华为公有云专属云主机DeH服务[1] 华为公有云是什么[1] 华为公有云行业解决方案[1] 华为私有云搭建[1] 华为私有云方案[1] 华为私有云服务.华为公有云专属云主机DeH服务.华为云产品报价[1] 华为私有云的搭建方案[1] 华为私有云网格结构[1] 华为私有云解决方案[1] 华为私有云部署架构[1] 为云产品服务[1] 云与计算咨询服务 [1] 云与计算客户支持与运维使能服务 [1] 云与计算客户支持与运维使能服务 云与计算客户支持服务[1] 华为云是什么 [1] 华为云软件开发服[1] 华为云速智能客服 [1] 华为代理加盟[1] 华为公有云架构解决方案 [1] 华为公有云解决方案服务定制领导者 [1] 华为弹性云[1] 华为弹性云服务器 华为云域名注册 华为云服务器应用[1] 华为私有云搭建 [1] 华为私有云搭建方案 [1] 华为私有云部署架构 [1] 大数据使能服务 [1] 撒[1]