企业网站华为云上云部署实践
一、文档核心概述
本文围绕某企业业务网站上云需求,提供了基于华为云的完整部署方案。核心目标是实现数据与业务节点分离部署、服务器弹性伸缩、流量自动分发及业务状态监控,最终通过弹性云服务器(ECS)、关系型数据库(RDS)、弹性负载均衡(ELB)、弹性伸缩(AS)、云监控(CES)等服务搭建高可用、可扩展的 WordPress 网站架构。
二、核心需求与对应解决方案
| 核心需求 | 解决方案 | 所用华为云服务 |
|---|---|---|
| 数据与业务节点分离 | ECS 部署业务、RDS 存储数据,VPC 提供网络隔离 | 弹性云服务器 ECS、关系型数据库 RDS、虚拟私有云 VPC |
| 动态调整服务器数量 | 基于业务负载的弹性伸缩策略,通过镜像快速创建实例 | 弹性伸缩 AS、镜像服务 IMS |
| 流量自动分发 | 负载均衡将请求分发至多台 ECS,提升可用性 | 弹性负载均衡 ELB |
| 业务状态监控 | 全方位监控 ECS、RDS、ELB 等资源状态,支持告警 | 云监控服务 CES |
三、完整部署步骤(含代码 / 配置细节)
(一)前置准备:登录华为云
- 访问华为云官网:https://www.huaweicloud.com
- 选择密码登录或扫码登录,输入账号信息完成认证。
(二)网络与安全配置
1. 创建虚拟私有云(VPC)
- 进入控制台,切换区域为「华东 - 上海一」,找到「虚拟私有云 VPC」。
- 配置参数:
- 名称:vpc-abc(自定义,示例名)
- 区域:华东 - 上海一
- 其他参数默认,点击「立刻创建」。
2. 创建安全组(全放通,实际需最小权限)
- 进入「网络控制台」→「访问控制」→「安全组」→「创建安全组」。
- 名称自定义(如 sg-abc),配置规则为全放通(实验环境),提交创建。
(三)核心资源购买与配置
1. 购买弹性云服务器(ECS)
- 进入「弹性云服务器 ECS」→「购买」,配置如下:
- 计费模式:按需计费
- 区域:华东 - 上海一
- 规格:通用计算型(2 vCPUs | 4 GB)
- 镜像:CentOS 7.6 64bit(10GiB)
- 系统盘:高 IO 40G
- 网络:选择已创建的 VPC 和子网
- 安全组:选择已创建的安全组
- 弹性公网 IP:现在购买(2Mbit/s,全动态 BGP)
- 登录凭证:密码认证(自定义密码)
- 确认配置后,点击「立即购买」。
2. 购买关系型数据库(RDS)
- 进入「云数据库 RDS」→「购买」,配置如下:
- 计费模式:按需计费
- 区域:华东 - 上海一
- 数据库引擎:MySQL 8.0
- 实例类型:主备(高可用)
- 规格:通用型(2 vCPUs | 4 GB)
- 存储:SSD 云盘(默认容量)
- 网络:选择已创建的 VPC 和子网
- 安全组:选择已创建的安全组
- 管理员密码:自定义设置
- 提交购买,等待 6-10 分钟创建完成,记录 RDS 内网 IP(如 192.168.0.39)。
(四)搭建 LAMP 环境与 WordPress 部署
1. 远程登录 ECS
- 使用 CloudShell 或 SSH 工具登录,参数:
- 公网 IP:ECS 的弹性公网 IP(如 60.204.213.80)
- 端口:22
- 用户名:root
- 认证方式:密码(购买 ECS 时设置的密码)
2. 安装 LAMP 环境(Linux+Apache+MySQL+PHP)
执行以下命令逐一步安装:
bash
# 安装依赖源
[root@ecs-abc ~]# yum install epel-release -y
[root@ecs-abc ~]# yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@ecs-abc ~]# yum -y install yum-utils
# 启用PHP 7.4源并安装组件
[root@ecs-abc ~]# yum-config-manager --enable remi-php74
[root@ecs-abc ~]# yum install -y httpd php php-fpm php-mysql mysql
# 编辑Apache配置文件,添加ServerName
[root@ecs-abc ~]# vim /etc/httpd/conf/httpd.conf
# 按shift+g跳转至文件末尾,按i进入编辑模式,添加以下内容:
ServerName localhost:80
# 按ESC,输入:wq保存退出
# 下载WordPress安装包
[root@ecs-abc ~]# wget -c https://hciecloud.obs.cn-north-4.myhuaweicloud.com/wordpress-5.2.3-zh_CN.zip
# 解压至网站根目录并授权
[root@ecs-abc ~]# unzip wordpress-5.2.3-zh_CN.zip -d /var/www/html
[root@ecs-abc ~]# chmod -R 777 /var/www/html
# 启动Apache和PHP-FPM服务
[root@ecs-abc ~]# systemctl start httpd.service
[root@ecs-abc ~]# systemctl start php-fpm.service
# 设置开机自启
[root@ecs-abc ~]# systemctl enable httpd.service
[root@ecs-abc ~]# systemctl enable php-fpm.service
# 验证服务状态(应显示active(running))
[root@ecs-abc ~]# systemctl status httpd.service
[root@ecs-abc ~]# systemctl status php-fpm.service
3. 创建 WordPress 数据库(通过 RDS 控制台)
-
登录 RDS 实例(用户名 root,密码为购买时设置)。
-
执行 SQL 命令创建数据库:
sqlCREATE DATABASE wordpress;
4. 配置 WordPress
- 浏览器访问
http://ECS弹性公网IP/wordpress(如http://60.204.213.80/wordpress)。 - 按引导输入数据库信息:
- 数据库名:wordpress
- 用户名:root
- 密码:RDS 设置的密码
- 数据库主机:RDS 内网 IP:3306(如 192.168.0.39:3306)
- 设置站点标题(如「企业上云部署实践」)、管理员账号密码,完成安装。
(五)高可用配置:负载均衡与弹性伸缩
1. 解绑 ECS 弹性公网 IP
- 进入 ECS 控制台,找到已创建的 ECS,操作「解绑弹性公网 IP」。
2. 创建弹性负载均衡(ELB)
- 进入「弹性负载均衡 ELB」→「购买」,配置如下:
- 实例类型:共享型
- 计费模式:按需计费
- 区域:华东 - 上海一
- 网络类型:IPv4 公网
- VPC:选择已创建的 VPC
- 弹性公网 IP:使用已解绑的 ECS 公网 IP
- 名称:elb-abc(自定义)
- 购买后,添加监听器:
- 名称:listener-abc
- 前端协议:HTTP,前端端口:80
- 后端服务器组:新建(名称 server_group-abc)
- 分配策略:加权轮询
- 健康检查:TCP 协议,端口 80,检查间隔 5 秒
- 提交配置。
3. 制作 ECS 镜像(用于弹性伸缩)
- 停止 ECS 实例:
[root@ecs-abc ~]# systemctl stop httpd.service && systemctl stop php-fpm.service,再在控制台操作「关机」。 - 进入「镜像服务 IMS」→「创建私有镜像」:
- 创建方式:系统盘镜像
- 镜像源:选择已关机的 ECS
- 名称:ims-abc(自定义)
- 等待镜像状态为「正常」后,启动 ECS。
4. 配置弹性伸缩(AS)
(1)创建伸缩配置
- 进入「弹性伸缩 AS」→「创建伸缩配置」,配置如下:
- 名称:as-config-abc
- 区域:华东 - 上海一
- 规格:与原 ECS 一致(2 vCPUs | 4 GB)
- 镜像:选择已创建的私有镜像(ims-abc)
- 安全组:选择已创建的安全组
- 弹性公网 IP:不使用
- 登录凭证:密码认证(自定义)
- 提交创建。
(2)创建伸缩组
- 进入「创建伸缩组」,配置如下:
- 名称:as-group-abc
- 区域:华东 - 上海一
- 最小实例数:1,期望实例数:2,最大实例数:3
- 伸缩配置:选择 as-config-abc
- VPC:选择已创建的 VPC
- 负载均衡:关联已创建的 ELB 和后端服务器组
- 提交创建。
(3)添加伸缩策略
- 策略 1(扩容):
- 名称:as-policy-abc
- 策略类型:告警策略
- 触发条件:CPU 使用率最大值≥60%(连续 3 次,周期 5 分钟)
- 执行动作:增加 1 个实例
- 策略 2(缩容):
- 名称:as-policy-abc2
- 触发条件:CPU 使用率最大值≤20%(连续 3 次,周期 5 分钟)
- 执行动作:减少 1 个实例
(六)业务监控与验证
1. 云监控配置
- 进入「云监控服务 CES」,可查看:
- 总览:ECS、RDS、ELB 等资源运行状态
- 主机监控:CPU 使用率、内存使用率、网络流量等指标
- 告警配置:设置资源阈值告警(如 CPU≥80% 触发通知)
2. 网站访问验证
- 浏览器输入 ELB 绑定的弹性公网 IP,可正常打开 WordPress 网站,说明负载均衡与弹性伸缩生效。
(七)资源清理(可选)
若需停止服务,按以下顺序删除资源:
- 删除弹性伸缩组→伸缩配置
- 删除 ECS 实例
- 删除 RDS 实例
- 删除私有镜像
- 删除 ELB 实例
- 删除 VPC
- 删除安全组
四、方案总结
本方案基于华为云服务实现了企业网站的高可用、可扩展部署,核心优势如下:
- 架构分离:ECS(业务)与 RDS(数据)分离,提升数据安全性和业务扩展性;
- 弹性伸缩:基于 CPU 负载自动扩缩容,应对业务量波动,降低资源浪费;
- 负载均衡:流量分发至多台 ECS,避免单点故障,提升服务可用性;
- 全面监控:云监控实时跟踪资源状态,支持告警机制,便于故障快速处理。
部署过程中,关键步骤包括 LAMP 环境搭建、WordPress 与 RDS 关联、ELB 与 AS 联动配置,其中代码操作集中在 ECS 的环境安装与服务管理,需注意权限配置和服务状态验证,确保各组件正常通信。