全部产品
Search
文档中心

资源编排:基于ECS和RDS安装WordPress环境

更新时间:Sep 18, 2026

本方案使用资源编排 ROS 的公共模板,一键创建适用于个人博客、中小型企业官网的WordPress实例。

方案概述

本方案使用资源编排 ROS 的公共模板,一键创建 ECS 实例和 RDS MySQL 数据库实例,并在 ECS 实例上自动安装 WordPress 博客环境,适用于个人博客、中小型企业官网等单机 WordPress 部署场景。

创建的资源清单

序号

资源名称

ROS 资源类型

用途说明

1

专有网络 VPC

ALIYUN::ECS::VPC

提供隔离的网络环境。

2

交换机 VSwitch

ALIYUN::ECS::VSwitch

在 VPC 中划分子网,指定可用区。

3

安全组 SecurityGroup

ALIYUN::ECS::SecurityGroup

控制 ECS 实例的网络访问规则,放行 80 端口。

4

ECS 实例

ALIYUN::ECS::Instance

运行 WordPress 的计算节点,已分配公网 IP。

5

RDS MySQL 实例

ALIYUN::RDS::DBInstance

存储 WordPress 的文章、用户、配置等数据。

部署完成后获得的结果

模板成功执行后,您将获得:

  • 一台 ECS 实例(CentOS 7 系统,已安装 Apache、PHP 和 WordPress)。

  • 一个 RDS MySQL 实例(已创建 WordPress 数据库和账号)。

  • ECS 实例已分配公网 IP,可直接通过浏览器访问 WordPress。

架构图

image

前提条件

在使用本模板前,请确认以下条件:

  1. 账号权限:阿里云账号具有 ECS、RDS、专有网络 VPC 的资源创建权限。

  2. 基础了解:了解 ROS 资源栈的基本概念,详情请参见什么是资源编排服务。

方案设计说明

ECS 与 RDS 分离部署的优势

相比在 ECS 实例本地安装 MySQL,使用独立的 RDS 数据库具有以下优势:

对比维度

ECS 本地 MySQL

RDS 云数据库

数据安全

需自行配置备份。

自动备份,支持任意时间点恢复。

运维成本

需手动升级、调优。

阿里云托管,自动补丁和监控。

性能

与 Web 服务共享 CPU 和内存。

独立计算资源,互不干扰。

扩展性

扩容需迁移数据。

可在线变配规格,无需停机。

高可用

单机部署,无容灾能力。

支持多可用区主备、读写分离。

WordPress 连接 RDS 的关键配置

WordPress 通过 wp-config.php 文件配置数据库连接信息。在本模板中,这些信息通过以下方式自动填充:

wp-config.php 配置项

值的来源

ROS 模板中的获取方式

DB_NAME

参数数据库名称

DBName

DB_USER

参数用户名称

DBUser

DB_PASSWORD

参数用户密码

DBPassword

DB_HOST

RDS 连接地址

Database.PublicConnectionString

说明

DB_HOST 使用的是 RDS 的 VPC 内网连接地址(如 rm-xxxx.mysql.rds.aliyuncs.com),而非公网地址。因此 ECS 实例和 RDS 实例必须部署在同一 VPC 内,通过内网通信延迟低且不收取流量费用。

部署环节

参数配置

本公共模板的所有参数均需在部署时填写,无默认值。建议首次部署时参考下表中的示例值填写。

参数分类

模板参数

类型

说明

示例值

网络

专有网络网段

String

专有网络的 CIDR 地址段。

192.168.0.0/16

网络

可用区ID

String

交换机与资源部署所在的可用区。

可用区 K

网络

交换机子网网段

String

交换机网段,必须为专有网络网段的子集。

192.168.0.0/24

ECS

实例类型

String

ECS 实例规格。

ecs.c5.large

ECS

系统盘类型

String

系统盘类型。

cloud_efficiency

ECS

实例密码

String

ECS 实例的登录密码,长度为 8~30 个字符,需同时包含大写字母、小写字母、数字和特殊字符。

-

RDS

实例规格

String

RDS 实例规格。

rds.mysql.t1.small

RDS

数据库版本号

String

RDS MySQL 数据库的版本号。

8.0

RDS

实例存储

Number

存储空间,取值范围为 5~2000,每 5 GB 递增。单位:GB。

5

RDS

数据库名称

String

WordPress 使用的数据库名称。

wordpress

RDS

数据库账号

String

数据库用户账号。

wpuser

RDS

数据库密码

String

数据库用户密码,长度为 8~30 个字符,需同时包含大写字母、小写字母、数字和特殊字符。

-

部署方式

方式一:通过 ROS 公共模板部署(推荐)

  1. 登录 ROS 控制台。

  2. 在左侧导航栏,选择模板 > 公共模板 > 入门模板。

  3. 在搜索框中输入基于ECS和RDS创建WordPress环境,查找该公共模板。

  4. 单击创建资源栈。

  5. 在配置参数页面,输入资源栈名称,并参照上表填写部署参数。

  6. 单击下一步:检查并确认,然后单击创建。

  7. 等待资源栈状态变为 CREATE_COMPLETE。

  8. 单击资源栈的输出页签,获取 WordPressUrl 访问地址。

  9. 在浏览器中访问该 URL,完成 WordPress 初始化向导。

方式二:通过 ROS IaC Code 部署

IaC Code 是面向云基础设施的 AI 基础设施即代码助手,可根据自然语言描述生成 ROS 模板并部署,使用方式参见IaC Code快速入门。

# Prompt
帮我创建一台ECS并安装WordPress博客环境,使用RDS MySQL作为数据库后端。
要求:
1. 新建VPC和VSwitch作为基础网络。
2. 安全组开放入方向80端口(HTTP)和22端口(SSH)。
3. ECS使用CentOS 7系统,分配公网IP。
4. 创建RDS MySQL 8.0实例,与ECS部署在同一VPC。
5. 通过UserData脚本自动安装Apache+PHP+WordPress。
6. WordPress的wp-config.php自动配置为连接RDS内网地址。
7. ZoneId和InstanceType需要配置AssociationProperty动态筛选。
8. 资源栈输出WordPress访问URL。

部署后操作

完成 WordPress 初始化

  1. 在资源栈的输出页签,获取 WordPressUrl,格式为 http://<ECS 公网 IP>。

  2. 在浏览器中打开该 URL。

  3. 在 WordPress 安装向导中填写以下信息:

    • 站点标题:博客名称。

    • 用户名:WordPress 管理员账号。

    • 密码:WordPress 管理员密码,与 ECS 实例密码、RDS 用户密码无关。

    • 邮箱:管理员邮箱。

  4. 单击安装WordPress。

  5. 安装完成后,访问 http://<ECS 公网 IP>/wp-admin 进入 WordPress 管理后台。

查看已创建的资源

  1. 登录资源编排控制台,在左侧导航栏,选择部署 > 资源栈。

  2. 在资源栈列表页面,单击目标资源栈 ID。

  3. 单击资源页签,查看所有已创建的云资源列表及状态。

常见问题

Q1:部署失败,报错“The specified InstanceType is not available”

原因:所选 ECS 实例或 RDS 实例规格在指定可用区中没有库存。

解决方案:

Q2:部署成功但访问 WordPressUrl 显示空白或报错

排查步骤:

  1. 检查安全组:确认安全组入方向规则已放行 TCP 80 端口。

  2. 登录检查:连接ECS实例后,执行以下命令排查。

    # 检查Apache是否运行
    systemctl status httpd
    # 检查WordPress文件是否存在
    ls /var/www/html/wp-config.php
    # 检查PHP是否安装
    php -v
    # 检查RDS连接
    mysql -h<RDS内网地址> -u<用户名> -p
  3. 查看 UserData 日志:执行 cat /var/log/messages | grep cloud-init,查看初始化脚本是否报错。

Q3:删除资源栈后如何释放所有资源?

  1. 登录资源编排控制台,在左侧导航栏,选择部署 > 资源栈。

  2. 在操作列单击删除,将删除方式设置为释放资源。

  3. 确认后,ROS 会自动释放专有网络 VPC、ECS 实例、RDS 实例等所有资源。

警告

删除资源栈将丢失 RDS 实例中的 WordPress 数据。请在删除前通过 RDS 控制台创建最终备份,或登录 ECS 实例执行 mysqldump 导出数据库。

更多资源部署问题,可以查询常见问题合集。

相关文档