场景:

当你在想部署一个 WordPress 时,首先需要一台 linux 服务器,还需要配置 PHP 环境、Apache 或者 Nginx 服务器、MySQL 数据库以及各种权限和访问问题。

解决思路:

借助品高云,你只需申请一台 linux 实例,使用 Docker 来安装 WordPress,通过简单的几条命令,就可以让你一次性解决所有困难。Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。所以在 Linux 上最好的办法就是使用 Docker 来安装 WordPress。

具体步骤:

在品高云上使用 docker 部署 wordpress 只需以下三步:云服务器创建、配置 docker 环境环境及 wordpress、使用 wordpress。

1. 创建云服务器

1.1 使用 BCC 账号进行登录。

1.2 进入【基础服务-计算-实例】,可看到实例界面。

1.3 点击新建,会出现新建实例的向导界面,选择镜像 CentOS7。

1.4 选择现有密钥,或者创建新密钥,也可以选择不使用密钥(系统初始密码会以明文方式展示),默认选择不使用密钥。

1.5 选择实例所在的云网络、子网,并选择现有的安全组或创建新的安全组,本次需在安全组中开放 80、443、22、3306 端口,所以我们选择 “创建一个新安全组”,填入安全组名称 docker 并点击创建。

1.6 创建完成后,依次点击【网络授权-新建授权】,在【新建网络授权-下行】中点击协议一栏,分别开通协议 HTTP(80 端口)、HTTPS(443 端口)及 SSH(22 端口),MYSQL(3306 端口)授权完成后继续实例创建。

1.7 选择合适的存储设备,设置存储大小、IOPS 设置(默认为 0 是不限制)。SAN 存储加密可视情况选择(加密后 SAN 存储内的数据内容将不会以明文形式显示,后台不可直接获得内容)。

1.8 可以为实例添加标签便于以后管理(标签可在【基础服务-计算-服务组】中新建、删除标签,也可不添加)点击下一步。

1.9 选择合适的实例规模(本次实例规模选用 4 核 4G),填写需要的实例的个数、实例名称。点击 “高级选项” 可以设置调度策略、调度标记、销毁保护、用户数据和安装软件,核对相关信息无误后点击创建实例。

创建完成后会在实例列表中出现,当实例由准备状态变为运行中,则说明实例创建完毕,可访问使用。

2 配置 docker 环境及 wordpress

2.1 找到创建的实例,点击右键获取实例密码,并通过 Xshell 进行连接(Xshell 的使用方式详见这里):

2.2 检测实例是否符合 docker 标准,当 DockerDocker 运行在 CentOS 7 上,要求系统为 64 位、系统内核版本为 3.10 以上,可通过 #uname -r 查询内核版本,如图可知内核版本高于要求:

#uname -r

3.10.0-693.el7.x86_64

2.3 安装 docker,Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:

#yum install docker -y

2.4 配置镜像加速:

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址,在/etc/docker/daemon.json 中增添 “registry-mirrors”: [“http://hub-mirror.c.163.com”]

#vi /etc/docker/daemon.json

2.5 启动 docker 服务,命令如下:

#service docker start

2.6 安装 wordpress 镜像:

在 docker 中安装 wordpress 很简单,直接一条命令搞定:

#docker pull wordpress:latest

WordPress:latest 中 latest 为 wordpress 的版本号,不填默认下载 wordpress 的最新版本,也可通过这里查询所需版本号,当出现下图,证明 wordpress 镜像安装成功:

2.7 安装 mysql 镜像

WordPress 需要使用 mysql 数据库,我们在 Docker 中安装 mysql 镜像,命令如下:

#docker pull mysql:latest

mysql:latest 中 latest 为 mysql 的版本号,不填默认下载 mysql 的最新版本,也可通过这里查询所需版本号,当出现下图,证明 mysql 镜像安装成功:

2.8 启动 mysql 容器

在 docker 中安装完 mysql,还需要额外的配置来启动 mysql,具体文档参考这里。启动 mysql 使用下面的命令:

docker run –name some-mysql -e MYSQL_ROOT_PASSWORD=… -p 3306:3306 -d mysql:tag

name 参数指定要启动的 mysql 容器名称,MYSQL_ROOT_PASSWORD 指定 root 密码。-p: 将容器内部使用的网络端口映射到我们使用的主机上,tag 参数是 MySQL 的版本号, 不填默认最新版本。示例:

#docker run –name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

即为启动一个名字为 mysql,root 密码为 123456 并将其 3306 的端口映射到主机 3306 的最新版本的 mysql 容器。

2.9 启动 wordpress 容器

安装好数据库之后,就可以启动 WordPress 了。详细的文档参考这里。如果使用 Docker 中安装的 mysql 实例,使用下面的命令:

docker run –name some-wordpress -e WORDPRESS_DB_PASSWORD=… -e WORDPRESS_DB_HOST=… –link some-mysql:mysql -p 80:80 -d wordpress:tag

name 参数指定要启动的 wordpress 容器名称,WORDPRESS_DB_PASSWORD 是数据库密码密码,WORDPRESS_DB_HOST 参数是 MySQL 的数据库端口号,link 参数指定要使用的 Docker MySQL 实例名称,p 参数将 Docker 内部的 80 端口映射到本地的 80 端口上。示例:

docker run –name wordpress -e WORDPRESS_DB_PASSWORD=123456 -e WORDPRESS_DB_HOST=mysql –link mysql:mysql -p 80:80 -d wordpress

即为启动一个名字为 wordpress 的 wordpress 最新版本容器,它的 80 端口映射到本机的 80 端口,数据库使用名字为 mysql 的容器,密码为 123456。

2.10 可通过 docker ps 查看容器是否启动成功,如下图则表明容器启动成功:

3 使用 wordpress

3.1 在浏览器中访问实例 IP,既可进入 wordpress 配置界面。

3.2 按照提示输入用户名等信息,然后安装 WordPress。

3.3 等到它提示安装完成,那么 docker 上部署 WordPress 就算大功告成了。

至此,品高云上使用 docker 部署 wordpress 完成,使用 docker 可以简化许多繁琐的配置,使得应用能更早上线。

备注:对于品高云搭建个人云笔记服务的过程,还可以通过视频详细了解。

相关功能:

  • BCC-基础服务-计算-实例

操作版本:BingoCloudOS 7.0