时光杂货铺 时光杂货铺
  • 首页
  • 极客
    • 折腾
    • 锦囊
  • 瞬息
    • 烟火气
    • 碎碎念
  • 关于我
netcup.com
netcup.com
yangyang
4 周前 得克萨斯州

使用Docker部署WordPress

文章字数:2281
阅读时间: 6 分钟

一、获取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。

六、访问与配置

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

七、部署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/ 下。

  • 拾遗
  • Docker
  • Nginx
  • WordPress
等 人表示很赞
98
1

评论 (1)

请在登录后评论...
  • yangyang 作者
    说说你想法💡
    3 天前
    精华
  • yangyang 作者

    说说你想法💡

    3 天前 得克萨斯州 回复 0
yangyang
yangyang
7 月前 得克萨斯州

推荐 什么是临时邮箱?

临时邮箱,也被称为一次性邮箱或临时邮件地址,是一种用于临时接收邮件的虚拟邮箱。与常规邮箱不同,临时邮箱旨在提供一种匿名且临时的邮件接收解决方案。 临时邮箱往往由网站或在线服务提供商提供,用户可以在需要注册或接收验证邮件时使用临时邮箱地址, ...
  • 拾遗
390 0
yangyang
yangyang
5 月前 得克萨斯州

推荐 Spartanhost 建站首选!

斯巴达VPS,做站首选!高性能+优化+防御 口碑商家,稳定性和工单服务都不错! 西雅图机房,带20G DDoS防护 (加钱可上200G防护,流量用超限速不停机) AMD E5-2690v4(三网4837) • 4C4G60G 5T流量(10 ...
  • 拾遗
326 0
yangyang
yangyang
7 月前 得克萨斯州

推荐 常用 vps 脚本

1、DD重装脚本 史上最强脚本 wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tool ...
  • 拾遗
359 0
09952513
09952513
7 月前 未知地区

推荐 这是一条测试

这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测试这是一条测 ...
  • 拾遗
662 2
Copyright © 2026 时光杂货铺. All rights reserved. Designed by nicetheme.

本网站由 又拍云 酷盾 提供CDN加速/云存储服务 服务器状态

皖ICP备2025077708号
  • 首页
  • 极客
    • 折腾
    • 锦囊
  • 拾遗
  • 瞬息
    • 烟火气
    • 碎碎念
  • 关于我
欢迎回来
账号注册 忘记密码?
其他登录方式
登录注册即表示同意 隐私政策
欢迎回来
账号注册 忘记密码?
其他登录方式
登录注册即表示同意 隐私政策
微信扫码登录
未注册的微信号将自动创建账号
扫码回复关键词「登录」获取验证码
其他登录方式
登录注册即表示同意 隐私政策
免费注册
其他登录方式
登录注册即表示同意 隐私政策
重设密码
返回登录