在后浪云上使用Docker Compose部署WordPress
引言
WordPress作为全球最流行的内容管理系统(CMS),以其灵活性和易用性广泛应用于网站开发。使用Docker Compose可以在云服务器上快速部署WordPress,简化环境配置并提升可维护性。本文以后浪云VPS为例,介绍如何通过Docker Compose部署WordPress,结合NGINX反向代理和Let’s Encrypt SSL证书,确保安全高效的运行环境。
案例分析:后浪云上的个人博客部署
假设我们在后浪云HK-1H2G VPS(1核CPU、2GB DDR4内存、30GB SSD、1Mbps带宽,月费¥30)上部署一个个人博客,域名myblog.com已通过后浪云域名服务解析到VPS的公网IP。通过Docker Compose,我们快速搭建了WordPress和MariaDB容器,并配置了NGINX和HTTPS,确保了博客的安全访问。
技术原理:Docker Compose与WordPress
Docker Compose
Docker Compose是一个用于定义和运行多容器应用的工具,通过YAML文件描述服务、卷和网络配置。它简化了WordPress(PHP+Apache)和MariaDB的部署,自动管理容器间的依赖和通信。
NGINX反向代理
NGINX作为高性能Web服务器,可通过反向代理将请求转发到WordPress容器,同时支持SSL终止以启用HTTPS,提升安全性和性能。
Let’s Encrypt
Let’s Encrypt通过ACME协议提供免费SSL证书,结合Certbot工具实现自动化配置。HTTP-01验证适用于已解析域名的场景,确保快速部署。
实践指南:在后浪云VPS上部署WordPress
以下是在Ubuntu 20.04上使用Docker Compose部署WordPress的步骤,适用于后浪云VPS。
步骤1:安装Docker和Docker Compose
更新系统并安装Docker:
# 更新包列表
sudo apt update
# 安装依赖
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# 添加Docker源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 启动并启用Docker
sudo systemctl start docker
sudo systemctl enable docker
安装Docker Compose:
# 下载最新版本
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 设置权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
步骤2:创建Docker Compose配置文件
创建项目目录并配置docker-compose.yaml:
# 创建目录
mkdir ~/wordpress
cd ~/wordpress
# 编辑配置文件
nano docker-compose.yaml
添加以下内容:
version: '3'
services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: securepassword123
      WORDPRESS_DB_NAME: wordpress_db
    volumes:
      - ./wp_data:/var/www/html
  db:
    image: mariadb:latest
    environment:
      MYSQL_DATABASE: wordpress_db
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: securepassword123
      MYSQL_ROOT_PASSWORD: securepassword123
    volumes:
      - ./mariadb:/var/lib/mysql
启动容器:
# 启动容器
sudo docker-compose up -d
步骤3:安装并配置NGINX
安装NGINX:
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
配置NGINX反向代理:
# 创建配置文件
sudo nano /etc/nginx/sites-available/wordpress
添加以下内容(替换myblog.com为实际域名):
server {
    listen 80;
    server_name myblog.com www.myblog.com;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    server_name myblog.com www.myblog.com;
    ssl_certificate /etc/letsencrypt/live/myblog.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/myblog.com/privkey.pem;
    location / {
        proxy_pass http://localhost:8080;
        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;
    }
}
启用配置并重载:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
步骤4:配置Let’s Encrypt SSL
安装Certbot:
sudo apt install -y certbot python3-certbot-nginx
获取证书:
sudo certbot --nginx -d myblog.com -d www.myblog.com
按提示输入邮箱并同意条款。Certbot自动配置NGINX以启用HTTPS。
测试自动续期:
sudo certbot renew --dry-run
步骤5:完成WordPress安装
访问https://myblog.com,进入WordPress安装界面,配置管理员账户和站点信息。
步骤6:验证部署
检查容器状态:
sudo docker-compose ps
确认HTTPS访问正常,确保博客页面加载正确。
技术对比:Docker Compose vs. 手动部署
- Docker Compose:自动化容器管理,适合后浪云VPS(如HK-1H2G)的快速部署,简化依赖配置。
 - 手动部署:灵活但配置复杂,需手动安装PHP、MySQL和NGINX,适合特定定制需求。
 
在案例中,Docker Compose显著降低了部署时间。
技术经验分享
通过在后浪云VPS上部署WordPress,我们快速上线了个人博客。以下是关键经验:
- 高性能支持:后浪云的SSD存储(HK-1H2G)加速了容器启动和数据访问。
 - DNS效率:后浪云域名服务确保快速解析,提升用户体验。
 - 自动化续期:Certbot的自动续期任务简化了证书管理。
 - 容器隔离:Docker Compose提供隔离环境,增强了安全性。
 
进一步资源可参考Docker Compose文档或后浪云技术支持。
总结
通过Docker Compose和NGINX,我们在后浪云VPS上高效部署了WordPress,结合Let’s Encrypt实现了安全的HTTPS访问。借助后浪云的高性能硬件和可靠域名服务,开发者和系统管理员可快速构建安全、稳定的Web应用。

