本文将详细讲解如何使用
docker compose方式部署整个WordPress博客系统
部署过程界面使用的是群晖
DSM7系统,但因为我们是容器化部署,因此你可以在任意一台支持docker的服务器上进行部署,包括但不限于群晖NAS、绿联NAS、极空间NAS、CentOS、Debian等
因为
WordPress博客系统依赖Mysql数据库,所以你首先得保证有一个可以访问的数据库,如果没有的话可以参考下面的教程手动部署一个Mysql容器
假设我们所有的容器部署的文件夹路径都在
~/docker下操作
新建 mysql 文件夹,用于保存容器相关内容和配置文件
在 mysql 文件夹下分别新建 data、conf、log 文件夹
在 mysql 文件夹下新建文件名为 compose.yaml 并复制粘贴下面的内容到里面
version: "3"
services:
mysql:
image: mysql:8.2.0
hostname: mysql
container_name: mysql
restart: on-failure:3
volumes:
- ./data/:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
- ./log:/var/log/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
# 修改这里的对外映射端口33306为你自己的端口,如果不需要对外暴露使用可以不用写ports设置,
- 33306:3306
network_mode: "bridge"
environment:
# 设置数据库root账户的管理员密码
MYSQL_ROOT_PASSWORD: mysql_12345
TZ: Asia/Shanghai
privileged: true
command:
- --default-authentication-plugin=mysql_native_password
粘贴并修改完成上面的配置后,切换路径到 mysql/conf 下
新建名为 my.cnf 的文件并复制粘贴下面的内容到文件中
[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
log_error_suppression_list='MY-013360'
character_set_server=utf8
lower_case_table_names=1
group_concat_max_len=1024000
log_bin_trust_function_creators=1
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
!includedir /etc/mysql/conf.d/
在 container manager 中新建项目(别的服务可以直接切换到~/docker/mysql 路径下使用 docker compose up 构建项目)

启动完成

下面的步骤是为 WordPress 部署做准备的
进入mysql容器的后台

点击新增,进入 bash

根据提示依次输入下面的命令
#登陆mysql,下面命令让你输入密码进入数据库
mysql -u root -p
# 创建wordpressdb数据库
create database wordpressdb;
# 使用wordpressdb数据库
use wordpressdb;
# 创建wordpress用户
create user 'wordpress'@'%' identified by 'password';
# 将wordpressdb数据库授权给用户wordpress
grant select,update,insert,delete,create on wordpressdb.* to wordpress;
# 刷新权限
flush privileges;
# 提交
commit;
完成后我们就创建了一个名为wordpress密码是password的账号并且有权限管理新建的数据库wordpressdb
新建 wordpress 文件夹,用于保存容器相关内容和配置文件
在 wordpress 文件夹下新建 data 文件夹
在 wordpress 文件夹下新建文件名为 compose.yaml 并复制粘贴下面的内容到里面
version: "3"
services:
wordpress:
image: wordpress:php8.3
container_name: wordpress
ports:
# 对外访问的映射端口
- 18088:80/TCP
deploy:
resources:
limits:
# cpus: 'lower'
memory: 8G
volumes:
- ./data:/var/www/html
environment:
WORDPRESS_DB_HOST: mysql
# 分别填写刚才创建的数据库相关信息
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: password
WORDPRESS_DB_NAME: wordpressdb
restart: on-failure:3
network_mode: "bridge"
external_links:
- mysql
在 container manager 中新建项目(别的服务可以直接切换到~/docker/mysql 路径下使用 docker compose up 构建项目)
构建完成后在浏览器打开 http://ip:18088 访问服务
根据提示完成基本信息填写后执行安装(这个过程慢一点可能会等待约5分钟,不要操作该页面)
等待完成安装后即可访问,后台登陆地址是 /wp-login.php,后台地址wp-admin.php
因为WordPress博客系统的插件基本都是国外的,建议使用🪜后进行插件安装,否则大概率安装失败
这里只说明两个重要的插件,一个用于控制上传文件大小的(用这个就可以不用修改
php.ini文件了),一个用于管理SSL设置的(群晖反代可以不用这个)
上传文件大小修改插件
使用方法:
媒体-上传文件中修改上传文件大小限制并保存即可



修改站点HTTPS请求异常插件
使用方法:



