本方案使用资源编排 ROS 的公共模板,一键创建适用于个人博客、中小型企业官网的WordPress实例。
方案概述
本方案使用资源编排 ROS 的公共模板,一键创建 ECS 实例和 RDS MySQL 数据库实例,并在 ECS 实例上自动安装 WordPress 博客环境,适用于个人博客、中小型企业官网等单机 WordPress 部署场景。
创建的资源清单
序号 | 资源名称 | ROS 资源类型 | 用途说明 |
1 | 专有网络 VPC |
| 提供隔离的网络环境。 |
2 | 交换机 VSwitch |
| 在 VPC 中划分子网,指定可用区。 |
3 | 安全组 SecurityGroup |
| 控制 ECS 实例的网络访问规则,放行 80 端口。 |
4 | ECS 实例 |
| 运行 WordPress 的计算节点,已分配公网 IP。 |
5 | RDS MySQL 实例 |
| 存储 WordPress 的文章、用户、配置等数据。 |
部署完成后获得的结果
模板成功执行后,您将获得:
一台 ECS 实例(CentOS 7 系统,已安装 Apache、PHP 和 WordPress)。
一个 RDS MySQL 实例(已创建 WordPress 数据库和账号)。
ECS 实例已分配公网 IP,可直接通过浏览器访问 WordPress。
架构图

前提条件
在使用本模板前,请确认以下条件:
账号权限:阿里云账号具有 ECS、RDS、专有网络 VPC 的资源创建权限。
基础了解:了解 ROS 资源栈的基本概念,详情请参见什么是资源编排服务。
方案设计说明
ECS 与 RDS 分离部署的优势
相比在 ECS 实例本地安装 MySQL,使用独立的 RDS 数据库具有以下优势:
对比维度 | ECS 本地 MySQL | RDS 云数据库 |
数据安全 | 需自行配置备份。 | 自动备份,支持任意时间点恢复。 |
运维成本 | 需手动升级、调优。 | 阿里云托管,自动补丁和监控。 |
性能 | 与 Web 服务共享 CPU 和内存。 | 独立计算资源,互不干扰。 |
扩展性 | 扩容需迁移数据。 | 可在线变配规格,无需停机。 |
高可用 | 单机部署,无容灾能力。 | 支持多可用区主备、读写分离。 |
WordPress 连接 RDS 的关键配置
WordPress 通过 wp-config.php 文件配置数据库连接信息。在本模板中,这些信息通过以下方式自动填充:
| 值的来源 | ROS 模板中的获取方式 |
| 参数数据库名称 |
|
| 参数用户名称 |
|
| 参数用户密码 |
|
| RDS 连接地址 |
|
DB_HOST 使用的是 RDS 的 VPC 内网连接地址(如 rm-xxxx.mysql.rds.aliyuncs.com),而非公网地址。因此 ECS 实例和 RDS 实例必须部署在同一 VPC 内,通过内网通信延迟低且不收取流量费用。
部署环节
参数配置
本公共模板的所有参数均需在部署时填写,无默认值。建议首次部署时参考下表中的示例值填写。
参数分类 | 模板参数 | 类型 | 说明 | 示例值 |
网络 | 专有网络网段 | String | 专有网络的 CIDR 地址段。 |
|
网络 | 可用区ID | String | 交换机与资源部署所在的可用区。 | 可用区 K |
网络 | 交换机子网网段 | String | 交换机网段,必须为专有网络网段的子集。 |
|
ECS | 实例类型 | String | ECS 实例规格。 |
|
ECS | 系统盘类型 | String | 系统盘类型。 |
|
ECS | 实例密码 | String | ECS 实例的登录密码,长度为 8~30 个字符,需同时包含大写字母、小写字母、数字和特殊字符。 | - |
RDS | 实例规格 | String | RDS 实例规格。 |
|
RDS | 数据库版本号 | String | RDS MySQL 数据库的版本号。 |
|
RDS | 实例存储 | Number | 存储空间,取值范围为 5~2000,每 5 GB 递增。单位:GB。 |
|
RDS | 数据库名称 | String | WordPress 使用的数据库名称。 |
|
RDS | 数据库账号 | String | 数据库用户账号。 |
|
RDS | 数据库密码 | String | 数据库用户密码,长度为 8~30 个字符,需同时包含大写字母、小写字母、数字和特殊字符。 | - |
部署方式
方式一:通过 ROS 公共模板部署(推荐)
登录 ROS 控制台。
在左侧导航栏,选择模板 > 公共模板 > 入门模板。
在搜索框中输入基于ECS和RDS创建WordPress环境,查找该公共模板。
单击创建资源栈。
在配置参数页面,输入资源栈名称,并参照上表填写部署参数。
单击下一步:检查并确认,然后单击创建。
等待资源栈状态变为
CREATE_COMPLETE。单击资源栈的输出页签,获取
WordPressUrl访问地址。在浏览器中访问该 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 初始化
在资源栈的输出页签,获取
WordPressUrl,格式为http://<ECS 公网 IP>。在浏览器中打开该 URL。
在 WordPress 安装向导中填写以下信息:
站点标题:博客名称。
用户名:WordPress 管理员账号。
密码:WordPress 管理员密码,与 ECS 实例密码、RDS 用户密码无关。
邮箱:管理员邮箱。
单击安装WordPress。
安装完成后,访问
http://<ECS 公网 IP>/wp-admin进入 WordPress 管理后台。
查看已创建的资源
登录资源编排控制台,在左侧导航栏,选择部署 > 资源栈。
在资源栈列表页面,单击目标资源栈 ID。
单击资源页签,查看所有已创建的云资源列表及状态。
常见问题
Q1:部署失败,报错“The specified InstanceType is not available”
原因:所选 ECS 实例或 RDS 实例规格在指定可用区中没有库存。
解决方案:
Q2:部署成功但访问 WordPressUrl 显示空白或报错
排查步骤:
检查安全组:确认安全组入方向规则已放行 TCP 80 端口。
登录检查:连接ECS实例后,执行以下命令排查。
# 检查Apache是否运行 systemctl status httpd # 检查WordPress文件是否存在 ls /var/www/html/wp-config.php # 检查PHP是否安装 php -v # 检查RDS连接 mysql -h<RDS内网地址> -u<用户名> -p查看 UserData 日志:执行
cat /var/log/messages | grep cloud-init,查看初始化脚本是否报错。
Q3:删除资源栈后如何释放所有资源?
登录资源编排控制台,在左侧导航栏,选择部署 > 资源栈。
在操作列单击删除,将删除方式设置为释放资源。
确认后,ROS 会自动释放专有网络 VPC、ECS 实例、RDS 实例等所有资源。
删除资源栈将丢失 RDS 实例中的 WordPress 数据。请在删除前通过 RDS 控制台创建最终备份,或登录 ECS 实例执行 mysqldump 导出数据库。
更多资源部署问题,可以查询常见问题合集。