应用场景
WordPress是一款免费开源的内容管理系统(CMS),目前已经成为全球使用最多的CMS建站程序。根据 W3techs 的最新统计(截至2021年4月),在全球的所有网站中WordPress占有41%的市场份额,意味着每5个网站中就有2个网站是使用WordPress搭建的。在使用CMS构建的所有网站中WordPress占有64.7%的市场份额,并且它的市场占有率一直在持续增长。
在本案例中,我们将会搭建一个基础的WordPress网站,需要使用到的资源如下:
- 弹性云主机:用于安装WordPress应用程序,是整个网站的核心,更多信息请参考弹性云主机。
- 文件系统:存储WordPress应用文件和上传资源文件,更多信息请参考弹性文件服务。
- 虚拟私有云VPC:提供一个逻辑隔离的局域网环境,创建云主机和文件系统的必选参数,更多信息请参考虚拟私有云。
- mysql数据库:用于存储WordPress使用中的用户基础信息。
- Docker:在云主机中启动mysql和WordPress。
方案使用云产品
弹性云主机,弹性文件服务
准备工作
在开始之前需要创建一个虚拟机私有云VPC,一台云主机,一个文件系统。具体操作如下:
- 在需要操作的地域创建虚拟私有云VPC,具体操作步骤参见创建虚拟私有云VPC。
- 创建该VPC下的弹性云主机,操作系统为Linux,此处以CTyunOS 2.0.1为例演示,具体操作步骤参见创建弹性云主机。
- 创建该VPC下的文件系统,文件系统的协议类型为NFS,具体操作步骤参见创建文件系统。
操作步骤
注意操作都是以root账号操作,云主机中没有运行其他的进程,避免端口被占用。
步骤一:放开云主机TCP22330端口
- 登录“控制中心”,点击“计算>弹性云主机”进入弹性云主机控制台页面。
- 找到目标云主机,点击名称进入云主机详情页。
- 在详情页下方,点击“安全组”页签,在该页签默认安全组下点击“添加规则”,具体操作请参考添加安全组规则。
- 添加“入方向”规则,各参数选项如下图。
- 添加完成之后,在默认安全组下会显示相应的规则。
步骤二:在云主机中挂载文件系统
- 以root用户登录弹性云主机,登录方式参考登录Linux弹性云主机。
- 执行以下命令安装NFS客户端。
yum install nfs-utils -y
- 执行如下命令创建本地路径“/mnt/wordpressdata”。
mkdir /mnt/wordpressdata
- 执行如下命令,挂载文件系统。挂载地址可在文件系统详情页获取,“/mnt/wordpressdata”是本地挂载路径。挂载操作请参考挂载NFS文件系统到弹性云主机 (Linux)。
mount -t nfs -o vers=3,proto=tcp,async,nolock,noatime,nodiratime,wsize=1048576,rsize=1048576,timeo=600 挂载地址 /mnt/wordpressdata
- 挂载完成后,通过
df -h
查看挂载情况。
步骤三:安装WordPress
-
本次测试使用Docker容器来安装WordPress,执行如下命令安装Docker容器。
yum install docker -y
-
拉取WordPress镜像。
docker pull wordpress
-
拉取mysql镜像。
docker pull mysql:5.7
-
安装完成之后,使用
docker image ls
查看容器镜像。
-
执行如下命令,启动mysql容器。此处设置账号:root,密码:{password},实际操作使用中应该填写自己的复杂密码。
"/root/mysql"表示Docker的mysql容器映射到云主机中的目录,可以按照自己的使用需求修改目录。docker run --name mysql -d -p 3306:3306 -v /root/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD={password} --restart=always mysql:5.7
-
使用
docker ps
查看mysql容器的ID,见下图。然后执行以下命令进入容器。{mysql_id}为查询获得,根据查询结果进行替换。docker exec -it {mysql_id} /bin/bash
-
在容器内部依次执行以下指令,创建WordPress使用的数据库,请注意替换{password}为自行设置的复杂密码。
mysql -uroot -p
alter user 'root'@'localhost' identified by '{password}';
CREATE DATABASE wordpress;
创建完成之后,连续输入两次“exit”退出mysql和mysql的Docker容器。
-
执行如下命令,启动WordPress。
docker run --name wordpress --link mysql -p 22330:80 -v /mnt/wordpressdata/:/var/www/html -d --restart=always wordpress:latest
"--link {name}"表示WordPress启动时连接的mysql容器名,在步骤8中启动mysql容器时设置的name是mysql,此处按照实际的name填写。
-
启动之后执行
docker ps
查看容器:
步骤四:初始化配置WordPress
- 在云主机详情页中“弹性IP”页签获取该云主机公网IP的IP地址,在浏览器中输入“{云主机IP地址}:22330”,预期出现以下界面。
- 按界面提示开始配置,需要手动输入以下信息:
参数名 | 参数值 | 说明 |
---|---|---|
数据库名 | wordpress | 在操作步骤三第7步中创建的数据库名称。 |
用户名 | root | mysql默认账号名。 |
密码 | {password} | 使用自己设置的密码。 |
数据库主机 | {ip}:3306 | {ip}为连接数据库使用内网IP,在云主机详情页”弹性网卡”页签下获取。 |
- 提交配置信息,点击“运行安装程序”,设置网站标题、用户名、密码、电子邮箱等信息,点击“安装WordPress"。
- 初始化配置完成,使用设置的账户信息登录WordPress管理控制界面。