一、获取docker安装文档(基于Debian13)
https://docs.docker.com/engine/install/debian
二、创建目录(方便管理项目文件以及配置)
mkdir -p /root/wordpress-app && cd /root/wordpress-app
三、创建 docker-compose.yml
使用 nano docker-compose.yml 命令创建文件,并将以下内容粘贴进去。这个配置包含了 WordPress 容器和 MySQL 8.0 数据库。
services:
db:
image: mysql:8.0
container_name: wordpress_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password # 修改为你的数据库管理员密码
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: wordpress_password # 修改为你的数据库用户密码
volumes:
- db_data:/var/lib/mysql
networks:
- wp_network
wordpress:
image: wordpress:latest
container_name: wordpress_app
restart: always
ports:
- "8080:80" # 外部访问端口,如果你想用 80 端口,改为 "80:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress_user
WORDPRESS_DB_PASSWORD: wordpress_password # 必须与上面 db 处的密码一致
WORDPRESS_DB_NAME: wordpress
volumes:
- wp_data:/var/www/html
depends_on:
- db
networks:
- wp_network
networks:
wp_network:
driver: bridge
volumes:
db_data:
wp_data:
四、启动部署
在当前目录下运行以下命令:(cd /root/wordpress-app)
docker compose up -d
-d 表示在后台运行
五、验证运行状态
检查容器是否正常启动:
docker compose ps
能看到 wordpress_app 和 wordpress_db 两个容器的状态都是 Up。
六、访问与配置
- 打开浏览器,输入服务器 IP 地址和端口:
http://你的服务器IP:8080。 - 你将看到 WordPress 的安装界面。
- 按照提示选择语言、设置网站标题、管理员账号和密码。
七、部署Nginx
想通过域名(如 blog.youer.com)访问,需要您安装最新版的Nginx,配置一个反向代理:
先执行
apt update
apt install -y nginx
创建反向代理配置文件
Nginx 的配置建议每个站点一个文件。创建一个新文件(以你的域名命名,例如 blog.conf):
nano /etc/nginx/sites-available/wordpress
将以下内容粘贴进去(注意修改 server_name):
server {
listen 80;
server_name blog.youer.com; # 这里改成你解析好的域名
# 限制上传文件大小(WordPress 上传插件或主题需要)
client_max_body_size 64M;
location / {
proxy_pass http://127.0.0.1:8080; # 对应 Docker 中的端口
# 传递真实的客户端信息给后端
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 解决 WordPress 登录重定向循环的问题
proxy_redirect off;
}
}
启用配置并重启
在 Debian/Ubuntu 系统中,你需要将文件从 sites-available 软链接到 sites-enabled:
# 1. 建立软链接启用配置
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
# 2. 测试配置文件语法是否正确
nginx -t
# 3. 如果显示 syntax is ok,则重启 Nginx
systemctl restart nginx
开启 HTTPS (强烈建议)
既然用了反代,用 Certbot 申请免费的 Let's Encrypt 证书非常简单:
# 安装 Certbot
apt install -y python3-certbot-nginx
# 运行申请脚本(按提示输入邮箱,选 A 和 Y)
certbot --nginx -d blog.youer.com
Certbot 会自动修改你的 Nginx 配置文件,把 80 端口强制跳转到 443。
八、常用维护命令
查看日志(排查报错):docker compose logs -f
停止并删除容器:docker compose down
重启服务:docker compose restart
备份数据:
- 数据库数据存在
db_data卷中。 - 网页文件存在
wp_data卷中。 - 物理路径通常在
/var/lib/docker/volumes/下。

说说你想法💡