镜像部署WordPress个人站点

镜像部署 WordPress 个人站点

使用 WordPress 镜像一键创建实例,免去繁琐的安装步骤。

使用场景

WordPress 是一款使用 PHP 语言开发的博客平台,您可使用通过 WordPress 搭建属于个人的博客平台。

本文以 CentOS 7.6 操作系统的CSDN开发云云主机为例,通过镜像部署 WordPress 个人站点。

操作步骤

步骤1:登录云服务器

参照文档登录 Linux 主机

步骤2:安装Docker

  1. 依次执行以下命令,添加 yum 源。
yum update
yum update 
yum update

1

yum <span class="token function">install</span> epel-release -y
yum <span class="token function">install</span> epel-release -y 
yum install epel-release -y

1

yum clean all
yum clean all 
yum clean all

1

yum list
yum list 
yum list

1

  1. 执行以下命令,安装 Docker。
yum <span class="token function">install</span> docker-io -y
yum <span class="token function">install</span> docker-io -y 
yum install docker-io -y

1

  1. 执行以下命令,运行 Docker。
systemctl start docker
systemctl start docker 
systemctl start docker

1

  1. 执行以下命令,检查安装结果。
docker info
docker info 
docker info

1

返回如下信息,即表示安装成功。

image-20220316110622844

步骤3: 设置docker开机启动

设置docker开机启动

systemctl enable docker.service
systemctl enable docker.service 
systemctl enable docker.service

1

步骤4:安装 docker-compose

安装 docker-compose

yum <span class="token function">install</span> <span class="token function">docker-compose</span> -y
yum <span class="token function">install</span> <span class="token function">docker-compose</span> -y 
yum install docker-compose -y

1

查看版本

<span class="token function">docker-compose</span> version
<span class="token function">docker-compose</span> version 
docker-compose version

1

看到如下信息表示 docker-compose安装成功

image-20220316112310291

步骤5: 安装 WordPress

准备目录

您需要创建在/var目录下创建一个名为wordpress的新目录来存放 WordPress 数据。这样我们就实现了一定的数据持久化。

<span class="token function">mkdir</span> -p /var/wordpress <span class="token builtin class-name">cd</span> /var/wordpress
<span class="token function">mkdir</span> -p /var/wordpress <span class="token builtin class-name">cd</span> /var/wordpress 
mkdir -p /var/wordpress cd /var/wordpress

1
2
3

创建 docker-compose.yml 文件。

<span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">"3.3"</span> <span class="token key atrule">services</span><span class="token punctuation">:</span> <span class="token key atrule">db</span><span class="token punctuation">:</span> <span class="token key atrule">image</span><span class="token punctuation">:</span> mysql<span class="token punctuation">:</span><span class="token number">5.7</span> <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> db_data<span class="token punctuation">:</span>/var/lib/mysql <span class="token key atrule">restart</span><span class="token punctuation">:</span> always <span class="token key atrule">environment</span><span class="token punctuation">:</span> <span class="token key atrule">MYSQL_ROOT_PASSWORD</span><span class="token punctuation">:</span> somewordpress <span class="token key atrule">MYSQL_DATABASE</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">MYSQL_USER</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">MYSQL_PASSWORD</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">wordpress</span><span class="token punctuation">:</span> <span class="token key atrule">depends_on</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> db <span class="token key atrule">image</span><span class="token punctuation">:</span> wordpress<span class="token punctuation">:</span>latest <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> wordpress_data<span class="token punctuation">:</span>/var/www/html <span class="token key atrule">ports</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">"8000:80"</span> <span class="token key atrule">restart</span><span class="token punctuation">:</span> always <span class="token key atrule">environment</span><span class="token punctuation">:</span> <span class="token key atrule">WORDPRESS_DB_HOST</span><span class="token punctuation">:</span> db <span class="token key atrule">WORDPRESS_DB_USER</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">WORDPRESS_DB_PASSWORD</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">WORDPRESS_DB_NAME</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token key atrule">db_data</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token key atrule">wordpress_data</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
<span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">"3.3"</span> <span class="token key atrule">services</span><span class="token punctuation">:</span> <span class="token key atrule">db</span><span class="token punctuation">:</span> <span class="token key atrule">image</span><span class="token punctuation">:</span> mysql<span class="token punctuation">:</span><span class="token number">5.7</span> <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> db_data<span class="token punctuation">:</span>/var/lib/mysql <span class="token key atrule">restart</span><span class="token punctuation">:</span> always <span class="token key atrule">environment</span><span class="token punctuation">:</span> <span class="token key atrule">MYSQL_ROOT_PASSWORD</span><span class="token punctuation">:</span> somewordpress <span class="token key atrule">MYSQL_DATABASE</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">MYSQL_USER</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">MYSQL_PASSWORD</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">wordpress</span><span class="token punctuation">:</span> <span class="token key atrule">depends_on</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> db <span class="token key atrule">image</span><span class="token punctuation">:</span> wordpress<span class="token punctuation">:</span>latest <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> wordpress_data<span class="token punctuation">:</span>/var/www/html <span class="token key atrule">ports</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">"8000:80"</span> <span class="token key atrule">restart</span><span class="token punctuation">:</span> always <span class="token key atrule">environment</span><span class="token punctuation">:</span> <span class="token key atrule">WORDPRESS_DB_HOST</span><span class="token punctuation">:</span> db <span class="token key atrule">WORDPRESS_DB_USER</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">WORDPRESS_DB_PASSWORD</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">WORDPRESS_DB_NAME</span><span class="token punctuation">:</span> wordpress <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token key atrule">db_data</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token key atrule">wordpress_data</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> 
version: "3.3" services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest volumes: - wordpress_data:/var/www/html ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: db_data: {} wordpress_data: {}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

这里解释一下docker-compose.yml文件:

  • 定义了两个服务:dbwordpress
  • 使用Docker镜像安装MySQL 5.7 和 最新版WordPress
  • db environment 指定了数据库的用户名和密码
  • wordpress environment 指定了wordpress数据库的配置
  • WordPress默认运行在容器的80端口,我们将它映射到本地计算机的8000端口

启动wordpress服务

<span class="token function">docker-compose</span> up -d
<span class="token function">docker-compose</span> up -d 
docker-compose up -d

1

在本地浏览器中访问 http://云服务器实例的公网IP:8000,开始安装 WordPress 网站

  1. 选择 WordPress 语言后,单击 继续

  2. 在页面中按需输入 WordPress 站点标题、管理员用户名、管理员密码及电子邮件,单击安装WordPress

    所需信息 说明
    站点标题 WordPress 网站名称。
    用户名 WordPress 管理员名称。出于安全考虑,建议设置一个不同于 admin 的名称。因为与默认用户名称 admin 相比,该名称更难破解。
    密码 可以使用默认强密码或者自定义密码。请勿重复使用现有密码,并确保将密码保存在安全的位置。
    您的电子邮件 用于接收通知的电子邮件地址。

image-20220316144154331

在页面中查看到安装成功提示即表示已完成安装。如下图所示:

img

现在可以登录 WordPress 博客,并开始发布博客文章了。

img

可以使用以下命令管理wordpress的服务

<span class="token function">docker-compose</span> stop <span class="token function">docker-compose</span> start <span class="token function">docker-compose</span> down <span class="token function">docker-compose</span> down --volumes
 <span class="token function">docker-compose</span> stop  <span class="token function">docker-compose</span> start  <span class="token function">docker-compose</span> down  <span class="token function">docker-compose</span> down --volumes 
docker-compose stop docker-compose start docker-compose down docker-compose down --volumes

1
2
3
4
5
6
7
8
9
10
11

原文链接:https://dev-docs.csdn.net/guide/image-deployed-on-a-personal-wordpress-site.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享