华为云 ECS+GaussDB+GeminiDB Redis 部署 WordPress 实战 1.数据库架构设计实验摘要本实验详细介绍了在华为云平台上搭建WordPress网站并优化其性能的完整流程。实验首先通过创建安全组、VPC网络和云数据库GaussDBfor MySQL实例构建基础环境然后部署弹性云服务器ECS并安装配置WordPress应用。为进一步提升网站性能实验还部署了GeminiDB Redis实例作为缓存服务通过Redis Object Cache插件实现页面加速。实验最后验证了Redis缓存效果并提供了完整的资源清理步骤。本实验涵盖了云数据库服务架构设计、多服务协同配置以及性能优化等关键知识点。1.1实验介绍1.1.1关于本实验本实验将使用华为云搭建WordPress网站通过配置弹性云服务器ECS、云数据库GaussDBfor Mysql搭建WordPress 网站通过部署GeminiDB实例对接WordPress提供Redis服务实现WordPress网站的页面加速。说明本实验以“北京四”区域为例学员可以根据实际情况选择相应区域进行实验。1.1.2实验目的理解云数据库服务架构中各云服务的使用。掌握对云数据库服务可用性、统一管理等方面的设计方法。1.1.3实验组网1.1.4软件介绍RedisRemoteDictionary Server)即远程字典服务是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库并提供多种语言的API是一个高性能的 key-value数据库。1.2实验配置1.2.1创建安全组步骤1 登录华为云在“华北-北京四”中选择“网络控制台访问控制安全组”点击右上角“创建安全组”按照以下配置创建安全组sg-rds。说明该安全组供后续GaussDB数据库实例使用需要放通3306端口。名称sg-rds模板快速添加规则入方向规则数据库3306步骤2 按照以下配置创建安全组sg-wordpress。说明该安全组用于后续搭建WordPress的云服务器需要使用通用Web服务器模板。名称sg-wordpress步骤3 按照以下配置创建安全组sg-redis。名称sg-redis模板快速添加规则入方向规则Redis63791.2.2创建VPC步骤1 在服务列表中选择“虚拟私有云我的VPC”点击右上角“创建虚拟私有云”。说明本实验的后续资源将在此VPC中创建。步骤2 按照以下配置创建虚拟私有云“vpc-db”。基本信息区域华北-北京四名称vpc-dbIPv4 网段192.168.0.0/16默认子网可用区可用区1本VPC以可用区1为例学员可根据实际情况选择相应可用区后续类似资源不再赘述名称vpc-db-subnet子网IPv4网段:192.168.2.0/241.2.3购买云数据库实例步骤1 在“华北-北京四”服务列表中选择“云数据库RDS”。步骤2 点击“购买”。说明后续需要在该实例中创建数据库对接WordPress应用。步骤3 按照以下要求填写参数并点击“立即购买”。计费模式按需计费区域华北-北京四数据库引I擎MySQL数据库版本8.0实例类型主备存储类型SSD云盘主可用区可用区一备可用区可用去七性能规格独享型 2 vCPU |4 GB存储空间40 GB实例名称gaussdb-wordpress管理员密码自定义虚拟私有云vpc-db|vpc-db-subnet|自动分配IP地址安全组sg-rds参数模板Default-MySQL-8.0购买数量1其他参数默认即可步骤4 确认配置后点击“提交”大约等待5-10分钟实例创建完毕。1.2.4为WordPress创建数据库步骤1 在实例管理界面记录数据库“读写内网地址”本实验为192.168.2.167点击实例右侧“登录”按钮登录数据库。步骤2 在实例登录页面输入用户名密码后点击“测试连接”并勾选“记住密码”测试通过后选择“登录”。步骤3 在首页选择“新建数据库”后续使用该数据库对接WordPress。步骤4 按以下配置填入数据库名称和字符集后单击“确定”。数据库名称wordpress字符集utf8mb4步骤 5 创建完成后可以在数据库列表查看刚创建的数据库wordpress。1.2.5安装部署WordPress步骤1 在服务列表中选择“弹性云服务器ECS”点击右上角“购买弹性云服务器”。说明该云服务器用于部署WordPress。步骤2 按以下配置选择相应参数创建云服务器。计费模式按需计费区域华北-北京四可用区随机分配CPU架构x86计算规格通用计算增强型|2vCPUs|4GiB镜像公共镜像|CentOS 7.6 64 bit10 GB主机安全免费版安全基础防护系统盘通用型SSD|40 GB网络vpc-db|vpc-db-subnet|自动分配 IP 地址安全组sg-wordpress弹性公网IP现在购买线路全动态BGP公网带宽按流量计费带宽大小10 Mbit/s云服务器名称ecs-wordpress登录凭证密码密码用户自定义步骤3 在弹性云服务器列表中点击操作栏的“远程登录”登录esc-wordpress云主机。步骤4 通过以下命令安装Apache相关组件。[rootecs-wordpress ~]# yum install httpd -y步骤5 通过以下命令安装php相关组件根据提示输入“y”完成软件安装。[rootecs-wordpress ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpmRetrieving http://rpms.famillecollet.com/enterprise/remi-release-7.rpm warning: /var/tmp/rpm-tmp.sFYZ7T: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY Preparing... Updating / installing...1:remi-release-7.9-6.el7.remi################################# [100%]################################# [100%][rootecs-wordpress ~]# yum install --enablereporemi --enablereporemi-php72 php php-opcache php-devel php-mysqlnd php-gd php-redis步骤6 使用wget命令下载WordPress安装包并解压。[rootecs-wordpress ~]# wget https://cloudservice-v3.obs.cn-east-3.myhuaweicloud.com/wordpress-5.2.3_zh.zip--2025-04-0921:20:50-- https://cloudservice-v3.obs.cn-east-3.myhuaweicloud.com/wordpress-5.2.3_zh.zip Resolving cloudservice-v3.obs.cn-east-3.myhuaweicloud.com(cloudservice-v3.obs.cn-east-3.myhuaweicloud.com)...121.36.239.144,121.36.239.137,121.36.239.130 Connecting to cloudservice-v3.obs.cn-east-3.myhuaweicloud.com(cloudservice-v3.obs.cn-east-3.myhuaweicloud.com)|121.36.239.144|:443... connected. HTTP request sent, awaiting response...200OK Length:12765467(12M)[application/zip]Saving to: ‘wordpress-5.2.3_zh.zip’100%[]12,765,46733.3MB/sin0.4s2025-04-0921:20:50(33.3MB/s)- ‘wordpress-5.2.3_zh.zip’ saved[12765467/12765467][rootecs-wordpress ~]# unzip wordpress-5.2.3_zh.zip[rootecs-wordpress ~]# lswordpress wordpress-5.2.3_zh.zip步骤7 使用如下命令拷贝WordPress文件夹到Apache的工作目录“/var/www/html”。[rootecs-wordpress ~]# cp -rf wordpress /var/www/html/步骤8 通过以下命令切换到httpd的工作目录并复制配置文件。[rootecs-wordpress ~]# cd /var/www/html/wordpress[rootecs-wordpress wordpress]# cp wp-config-sample.php wp-config.php步骤9 使用vim命令修改wp-config.php文件配置数据库参数对接之前创建的“wordpress”数据库。[rootecs-wordpress wordpress]# vim wp-config.php修改wp-config.php文件中数据库的配置参数如下内容数据库名称DB_NAME): wordpress数据库用户名DB_USER): root数据库密码DB_PASSWORD:学员自定义数据库主机DB_HOST): 192.168.2.167:3306数据库实例的内网IP地址端口号文字编码DB_CHARSET): utf8mb4// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define(DB_NAME,wordpress);/** MySQL数据库用户名 */ define(DB_USER,root);/** MySQL数据库密码 */ define(DB_PASSWORD,自定义密码);/** MySQL主机 */ define(DB_HOST,192.168.2.167:3306);/** 创建数据表时默认的文字编码 */ define(DB_CHARSET,utf8mb4);/** 数据库整理类型。如不确定请勿更改 */ define(DB_COLLATE,);步骤10 并在当前文件wp-config.php末尾添加如下内容添加完成后保存退出。define(FS_METHOD,direct);define(FS_CHMOD_DIR, 0777);define(FS_CHMOD_FILE, 0777);# wp-config.php完整内容如下[rootecs-wordpress wordpress]# cat wp-config.php?php /** * WordPress基础配置文件。 * * 这个文件被安装程序用于自动生成wp-config.php配置文件 * 您可以不使用网站您需要手动复制这个文件 * 并重命名为“wp-config.php”然后填入相关信息。 * * 本文件包含以下配置选项 * * * MySQL设置 * * 密钥 * * 数据库表名前缀 * * ABSPATH * * link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php * * package WordPress */ // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define(DB_NAME,wordpress);/** MySQL数据库用户名 */ define(DB_USER,root);/** MySQL数据库密码 */ define(DB_PASSWORD,自定义密码);/** MySQL主机 */ define(DB_HOST,192.168.2.167:3306);/** 创建数据表时默认的文字编码 */ define(DB_CHARSET,utf8mb4);/** 数据库整理类型。如不确定请勿更改 */ define(DB_COLLATE,);/**#* 身份认证密钥与盐。 * * 修改为任意独一无二的字串 * 或者直接访问{link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org密钥生成服务}* 任何修改都会导致所有cookies失效所有用户将必须重新登录。 * * since2.6.0 */ define(AUTH_KEY,put your unique phrase here);define(SECURE_AUTH_KEY,put your unique phrase here);define(LOGGED_IN_KEY,put your unique phrase here);define(NONCE_KEY,put your unique phrase here);define(AUTH_SALT,put your unique phrase here);define(SECURE_AUTH_SALT,put your unique phrase here);define(LOGGED_IN_SALT,put your unique phrase here);define(NONCE_SALT,put your unique phrase here);/**#-*//** * WordPress数据表前缀。 * * 如果您有在同一数据库内安装多个WordPress的需求请为每个WordPress设置 * 不同的数据表前缀。前缀名只能为数字、字母加下划线。 */$table_prefixwp_;/** * 开发者专用WordPress调试模式。 * * 将这个值改为trueWordPress将显示所有用于开发的提示。 * 强烈建议插件开发者在开发环境中启用WP_DEBUG。 * * 要获取其他能用于调试的信息请访问Codex。 * * link https://codex.wordpress.org/Debugging_in_WordPress */ define(WP_DEBUG,false);/* 好了请不要再继续编辑。请保存本文件。使用愉快 */ /** WordPress目录的绝对路径。 */if(!defined(ABSPATH)){define(ABSPATH, dirname(__FILE__)./);}/** 设置WordPress变量和包含文件。 */ require_once(ABSPATH.wp-settings.php);define(FS_METHOD,direct);define(FS_CHMOD_DIR, 0777);define(FS_CHMOD_FILE, 0777);[rootecs-wordpress wordpress]#步骤11 通过以下命令开启Apache服务并查看配置文件权限并启动服务。[rootecs-wordpress wordpress]# chmod -R 777 wp-content[rootecs-wordpress wordpress]# systemctl start httpd[rootecs-wordpress wordpress]# ps -ef | grep httpdroot94921021:31 ? 00:00:00 /usr/sbin/httpd-DFOREGROUNDapache94939492021:31 ? 00:00:00 /usr/sbin/httpd-DFOREGROUNDapache94949492021:31 ? 00:00:00 /usr/sbin/httpd-DFOREGROUNDapache94959492021:31 ? 00:00:00 /usr/sbin/httpd-DFOREGROUNDapache94969492021:31 ? 00:00:00 /usr/sbin/httpd-DFOREGROUNDapache94979492021:31 ? 00:00:00 /usr/sbin/httpd-DFOREGROUNDroot95368157021:32 pts/0 00:00:00grep--colorauto httpd[rootecs-wordpress wordpress]#步骤12 打开本地PC浏览器输入ecs-wordpress云服务器的EIP/wordpress/index.php登录网站。本实验是124.70.34.67/wordpress/index.php。登录后完成以下配置内容点击“安装WordPress”站点标题HCIP用户名huawei学员可自定义密码自定义电子邮件自定义步骤13 安装完成后点击“登录”输入设置的账号和密码信息登录网站。步骤14 输入刚设置的用户名和密码登录WordPress如下图所示证明WordPress搭建完成。步骤15 在左侧页签中选择“插件安装插件”。步骤16 在右侧的搜索栏中输入“redis”找到“Redis Object Cache”点击“现在安装”。说明为后续对接Redis服务做好插件准备。# 下载https://curl.se/ca/cacert.pem 将文件里的内容全部复制下来然后替换 /var/www/html/wordpress/wp-includes/certificates/ca-bundle.crt 里面的内容保存就可以了# 将cacert.pem 上传到ecs,然后复制成ca-bundle.crt[rootecs-wordpress certificates]# cp cacert.pem /var/www/html/wordpress/wp-includes/certificates/ca-bundle.crt1.2.6 创建GeminiDB Redis服务步骤1 在“华北-北京四”的服务列表中选择“云数据库GeminiDBRedis接口”点击右上角“购买数据库实例”按照以下配置购买数据库实例。步骤2 点击右上角的“购买数据库实例”并参照以下参数完成配置。说明本实验中使用该GaussDBRedis数据库实例为WordPress提供Redis服务。计费模式按需计费区域华北-北京四实例名称redis-wordpress兼容接口Redis部署模式经典产品类型标准型实例架构主备版或集群版兼容版本7.0CPU类型x86可用区默认规格选择模式自定义资源规格类型标准型节点规格1vcpu | 4 GB节点数量2节点实例存储容量8 GB虚拟私有云vpc-db子网vpc-db-subnet内网安全组sg-redis数据库端口默认6379-管理员密码学员自定义步骤3 查看并选中已购买的数据库实例等待创建完成创建过程预计需要5-10分钟。步骤4 点击数据库名称在“基本信息”页签中查看并记录用户名、负载均衡地址、端口号和所配置的登录密码。步骤5 登录弹性云主机ecs-wordpress通过以下命令修改网站的配置文件。[rootecs-wordpress ~]# cd /var/www/html/wordpress/[rootecs-wordpress wordpress]# vim wp-config.php在该文件中增加以下内容用以对接Redis服务请顺序地添加到关系型数据库配置的后边否则非关系型数据库Redis连接可能不生效。/*redis config*/ define(WP_REDIS_HOST,192.168.2.96);define(WP_REDIS_PORT,6379);define(WP_REDIS_PASSWORD,自定义密码);说明以上内容中“192.168.2.96”为上一步骤中Redis负载均衡服务地址配置时请注意替换为实际服务地址。以上内容设置的数据库密码配置时请注意替换为实际密码。步骤6 配置完成后保存退出。1.2.7启用Redis步骤1 返回Wordpress页面浏览器页面按“F12”键勾选“Disable cache”停用缓存选项查看页面加载时间。刷新WordPress界面待其完全加载完成可以在页面下方看到DOMContentLoaded为“445 ms”左右。先F12勾选Disable cache然后刷新页面看底部时间步骤2 关闭浏览器的工具面板页面按F12在WordPress页面选择“插件”找到“RedisObject Cache-对象缓存”点击“启用”。步骤3 在“概览”页签下点击“启用对象缓存”或Enable Object Cache。步骤4 查看状态显示“已连接”或Connected证明Redis服务已成功对接并启用。点击刷新缓存flush cach按钮清除 cache 中缓存。1.3实验验证步骤1 登录Wordpress网页并进入刚才的页面例如安装插件页面在浏览器中按“F12”键勾选“Disablecache”停用缓存选项查看启用Redis的页面加载时间。请多刷新几次页面进行对比当前加载时间约为“335 ms”低于启用Redis服务之前的445s通过启用Redis服务提升网站响应速度的需求因实验页面内容量较少或网络波动等原因通常实际效果并不明显主要是熟悉相关场景的操作及配置至此本实验配置完成。观察redis使用现象观察监控指标1.4实验恢复步骤1 删除 GeminiDB Redis实例。在服务列表中选择“云数据库GeminiDBRedis接口”在列表中找到本实验创建的数据库实例点击操作栏中的“更多删除实例”步骤2 删除GaussDB数据库实例。在服务列表中选择“云数据库GaussDBforMySQL”在列表中找到本实验创建的数据库实例点击操作栏中的“更多删除实例”。步骤3 删除ECS。在服务列表中选择“云服务器ECS”找到本实验创建的云服务器点击操作栏中的“更多删除”。在弹出的对话框中勾选EIP和数据盘选项并删除ECS。步骤4 删除安全组。在服务列表中选择“虚拟私有云VPC”在“访问控制安全组”中找到本实验创建的安全组点击操作栏的“更多删除”。步骤5 删除VPC。在服务列表中选择“虚拟私有云VPC”点击“子网”页签在列表中找到本实验创建的子网点击操作栏中的“删除”。点击“虚拟私有云”页签找到本实验创建的VPC点击操作栏中的“删除”。4.5 思考题问题当我们想通过配置多个后端数据库实例来提升数据库服务的容量和性能可以采用哪种方案?参考答案可以采用华为分布式数据库中间件服务DDM通过DDM可以做到数据库线性水平扩展提升数据库处理能力轻松应对高并发、实时交互业务场景