Docker部署基于WordPress的个人博客网站

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。如果你重点关注于博客记录、技术分享,想快速搭建自己的博客网站,那么使用WordPress会是一个比较好的方案。

本文操作环境

  • Ubuntu23服务器环境
  • 安装Docker和docker-compose环境

相关环境安装搭建本文不再描述,请自行安装

操作步骤

1. 下载镜像

服务器执行命令

1
2
docker pull wordpress:6.3
docker pull mysql:5.7

2.启动容器

搭建WordPress需要启动wordpressmysql两个容器,有两种启动方式(下面两种方式,都需要替换其中相关参数后执行):

  • 命令启动
1
2
3
4
5
6
7
8
9
# 启动MySql数据库容器
docker run -p 3306:3306 --restart=always --name mysql \
-e MYSQL_ROOT_PASSWORD=ROOT_PASSWORD \
-e MYSQL_DATABASE=DatabaseName \
-e MYSQL_USER=USERNAME \
-e MYSQL_PASSWORD=PASSWORD \
-v /opt/docker/mysql/logs:/logs \
-v /opt/docker/mysql/data:/var/lib/mysql \
-d mysql:5.7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 启动WordPress容器
docker run -d \
--privileged=true \
--restart=always \
--name wordpress \
-p 8088:80 \
-e WORDPRESS_DB_HOST=192.168.3.168:3306 \
-e WORDPRESS_DB_USER=USERNAME \
-e WORDPRESS_DB_PASSWORD=PASSWORD \
-e WORDPRESS_DB_NAME=DatabaseName \
-v /etc/docker/wordpress/html:/var/www/html \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
wordpress:6.3
  • docker-comppose启动
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
32
33
34
35
36
37
38
version: "3"
# Defines which compose version to use
services:
# Services line define which Docker images to run. In this case, it will be MySQL server and WordPress image.
db:
container_name: "wordpress-db"
image: mysql:5.7
# image: mysql:5.7 indicates the MySQL database container image from Docker Hub used in this installation.
restart: always
environment:
MYSQL_ROOT_PASSWORD: MyR00tMySQLPa$$5w0rD
MYSQL_DATABASE: MyWordPressDatabaseName
MYSQL_USER: MyWordPressUser
MYSQL_PASSWORD: Pa$$5w0rD
# Previous four lines define the main variables needed for the MySQL container to work: database, database username, database user password, and the MySQL root password.
wordpress:
container_name: "wordpress"
depends_on:
- db
image: wordpress:6.3
privileged: true
restart: always
# Restart line controls the restart mode, meaning if the container stops running for any reason, it will restart the process immediately.
ports:
- "8000:80"
# The previous line defines the port that the WordPress container will use. After successful installation, the full path will look like this: http://localhost:8000
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: MyWordPressUser
WORDPRESS_DB_PASSWORD: Pa$$5w0rD
WORDPRESS_DB_NAME: MyWordPressDatabaseName
# Similar to MySQL image variables, the last four lines define the main variables needed for the WordPress container to work properly with the MySQL container.
volumes:
- "/opt/docker/wordpress/html:/var/www/html"
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
volumes:
mysql: {}

上述内容在服务器中保存为docker-compose.yaml文件,然后在同级目录下执行以下命令:

1
docker-compose  up -d

3.初始化博客

  • 浏览器中访问服务器IP:8088地址,进入下面的页面,选择【简体中文】,然后点击【继续】按钮
    img.png
  • 此页面是配置WordPress博客基本信息,用户名和密码必须记住,后续登录博客后台管理需要使用,填写完毕点击【安装WordPress】
    img_1.png
  • 出现以下页面,说明博客已经安装和初始化成功,点击【登录】按钮,输入用户名和密码进入博客后台管理页面
    img_2.png
    img_3.png

4.上传文件大小限制修改

由于后续需要修改主题,涉及文件上传,WordPress默认上传文件最大限制为2MB,而实际主题文件可能会超过这个限制,所以需要提前对此项配置进行修改。
具体配置修改步骤如下:

1
2
3
4
5
6
7
8
9
10
11
# 复制容器中的配置文件到宿主机,重命名为php.ini
docker cp wordpress:/usr/local/etc/php/php.ini-development php.ini

# 修改配置 upload_max_filesize = 20M
vim php.ini

# 修改后的配置文件拷贝进容器
docker cp php.ini wordpress:/usr/local/etc/php

# 重启WordPress服务
docker restart wordpress

5.添加Argon博客主题

WordPress有许多第三方开发的免费模板,安装方式简单易用。进入博客后台管理页面后,点击左侧菜单【外观】-【主题】按钮可以进入主题配置页面。
作者本次将要介绍使用的是Argon主题模板,还有很多其他优秀的主题模板,可以自行了解使用。
Argon是一款简介、好看、开源的WordPress主题模板,仓库地址为https://github.com/solstice23/argon-theme.git
添加Argon博客主题步骤如下:

  • 点击下载Argon主题,Argon主题其他版本可访问项目仓库地址进行下载
  • 进入博客后台管理-主题配置页面,点击【上传主题】按钮,选择下载好的Argon主题压缩包,点击【立即安装】按钮,出现下面的页面表明主题安装成功
    img_4.png
  • 点击【启用按钮】,开始使用Argon主题

6.安装Markdown插件

WordPress发布文章时,自带的会有一个文档编辑器,类似于Word那种形式,使用起来并不是很友好,作者习惯使用Markdown语法编辑文章。
进入博客后台管理-插件-安装插件页面,搜索WP Markdown Editor插件,然后点击【立即安装】,安装完成后点击【启用】按钮
img_5.png

7.发布第一篇文章

安装并启用Markdown插件后,就可以使用Markdown语法编辑文章并发布。

  • 进入博客后台管理-文章-写文章页面,输入文章标题、内容后,点击右侧【发布按钮】进行文章发布
    img_6.png
  • 浏览器输入服务器IP:8088地址就可以进入博客站点,至此博客基本搭建完成
    img_7.png

8.更换站点图标

进入博客后台管理-外观-自定义-站点身份-选择站点图标页面,然后上传合适的图片后,点击【发布】按钮,站点图标修改成功
img_8.png


Docker部署基于WordPress的个人博客网站
http://example.com/2023/09/19/Docker部署基于WordPress的个人博客网站/
作者
Earlman
发布于
2023年9月19日
许可协议