使用Docker部署WordPress

一、获取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.0container_name: wordpress_dbrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: your_root_password  # 修改为你的数据库管理员密码MYSQL_DATABASE: wordpressMYSQL_USER: wordpress_userMYSQL_PASSWORD: wordpress_password       # 修改为你的数据库用户密码volumes:      - db_data:/var/lib/mysqlnetworks:      - wp_networkwordpress:image: wordpress:latestcontainer_name: wordpress_apprestart: alwaysports:      - "8080:80"  # 外部访问端口,如果你想用 80 端口,改为 "80:80"environment:WORDPRESS_DB_HOST: db:3306WORDPRESS_DB_USER: wordpress_userWORDPRESS_DB_PASSWORD: wordpress_password # 必须与上面 db 处的密码一致WORDPRESS_DB_NAME: wordpressvolumes:      - wp_data:/var/www/htmldepends_on:      - dbnetworks:      - wp_networknetworks:wp_network:driver: bridgevolumes:db_data:wp_data:

四、启动部署

在当前目录下运行以下命令:(cd /root/wordpress-app)

docker compose up -d

-d 表示在后台运行

五、验证运行状态

检查容器是否正常启动:

docker compose ps

能看到 wordpress_app 和 wordpress_db 两个容器的状态都是 Up

六、访问与配置

  1. 打开浏览器,输入服务器 IP 地址和端口:http://你的服务器IP:8080
  2. 你将看到 WordPress 的安装界面。
  3. 按照提示选择语言、设置网站标题、管理员账号和密码。

七、部署Nginx

想通过域名(如 blog.youer.com)访问,需要您安装最新版的Nginx,配置一个反向代理:

先执行

aptupdateaptinstall -y nginx

创建反向代理配置文件

Nginx 的配置建议每个站点一个文件。创建一个新文件(以你的域名命名,例如 blog.conf):

nano /etc/nginx/sites-available/wordpress

将以下内容粘贴进去(注意修改 server_name):

server {listen80;server_name blog.youer.com; # 这里改成你解析好的域名# 限制上传文件大小(WordPress 上传插件或主题需要)client_max_body_size64M;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_redirectoff;    }}

启用配置并重启

在 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,则重启 Nginxsystemctlrestart nginx

开启 HTTPS (强烈建议)

既然用了反代,用 Certbot 申请免费的 Let’s Encrypt 证书非常简单:

# 安装 Certbotaptinstall -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/ 下。

评论

《 “使用Docker部署WordPress” 》 有 2 条评论

  1. 一位 WordPress 评论者 的头像

    您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar

  2. 你好 的头像
    你好

    你好你好你好你好你好你好

回复 一位 WordPress 评论者 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理