前言

WordPress是全球使用最广泛的建站程序,超过40%的网站都运行在WordPress上。很多人以为建站很难,其实用Docker在VPS上搭建WordPress只需要几条命令,10分钟就能让一个博客上线。本文教你从零开始,用最简单的方式在便宜VPS上搭建WordPress网站。

一、准备工作

  • 一台VPS(推荐1核1G以上配置),还没有的可以参考便宜VPS推荐
  • 一个域名(建议在Cloudflare注册,方便管理DNS)
  • VPS已安装Docker,参考一键安装Docker

二、使用Docker Compose一键部署

创建项目目录:

mkdir -p /opt/wordpress
cd /opt/wordpress

创建 docker-compose.yml

cat > docker-compose.yml << 'EOF'
version: "3.8"

services:
  db:
    image: mariadb:10
    container_name: wp-db
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=wproot2026
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wpuser
      - MYSQL_PASSWORD=wppass2026

  wordpress:
    image: wordpress:latest
    container_name: wp-app
    restart: always
    ports:
      - "8080:80"
    volumes:
      - wp_data:/var/www/html
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_NAME=wordpress
      - WORDPRESS_DB_USER=wpuser
      - WORDPRESS_DB_PASSWORD=wppass2026
    depends_on:
      - db

volumes:
  db_data:
  wp_data:
EOF

请修改上面的数据库密码为你自己的强密码。

启动服务:

docker compose up -d

等待1-2分钟,然后访问 http://你的VPS_IP:8080,按照WordPress安装向导完成初始设置:

  1. 选择语言为"简体中文"
  2. 设置站点标题、管理员用户名、密码、邮箱
  3. 点击"安装WordPress"

安装完成后即可登录后台 http://你的VPS_IP:8080/wp-admin

三、配置域名和HTTPS

配置DNS解析

在Cloudflare或其他DNS服务商中,添加一条A记录:

类型名称
A@你的VPS公网IP
Awww你的VPS公网IP

配置Nginx反向代理

sudo nano /etc/nginx/sites-available/wordpress

写入以下配置:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    client_max_body_size 64M;

    location / {
        proxy_pass http://127.0.0.1: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;
    }
}

启用站点并申请SSL证书:

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

# 申请SSL证书
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

如果你使用Nginx Proxy Manager,也可以直接在面板中配置反向代理和SSL证书。

修改WordPress站点地址

登录WordPress后台 > 设置 > 常规,将"WordPress地址"和"站点地址"改为你的域名:

https://yourdomain.com

四、推荐必装插件

登录WordPress后台 > 插件 > 安装插件,搜索并安装以下插件:

插件名用途
WP Super Cache页面缓存,提升访问速度
Wordfence Security安全防护,防攻击防扫描
UpdraftPlus自动备份到云端
Yoast SEOSEO优化,提升搜索排名
WP-Optimize数据库优化清理
Classic Editor恢复经典编辑器(可选)
Contact Form 7联系表单

五、推荐主题

主题特点适用场景
flavor flavor轻量快速,SEO友好个人博客
flavor功能全面,可视化搭建企业/商业网站
Flavor现代杂志布局资讯/内容网站
Flavor电商专用,搭配WooCommerce在线商城

免费主题推荐 flavor flavor flavor;付费主题首选 flavor flavor 和 flavor flavor,生态完善,支持拖拽建站,适合新手。

六、WordPress性能优化

启用缓存

安装WP Super Cache插件后,在设置中启用"缓存功能"。配合Nginx的FastCGI缓存效果更好:

# 在Nginx配置中添加
fastcgi_cache_path /tmp/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

优化数据库

定期使用WP-Optimize清理文章修订版本、垃圾评论、过期transient等无用数据。

图片优化

  • 安装 SmushShortPixel 插件自动压缩上传图片
  • 使用WebP格式图片
  • 开启懒加载(WordPress 5.5+已内置)

PHP优化

编辑WordPress的 wp-config.php,增加PHP内存限制:

# 进入WordPress容器
docker exec -it wp-app bash

# 编辑配置
echo "define('WP_MEMORY_LIMIT', '256M');" >> /var/www/html/wp-config.php

七、WordPress安全加固

基本安全设置

  1. 不要使用默认用户名 “admin”
  2. 使用强密码(12位以上,含大小写字母、数字、符号)
  3. 安装Wordfence安全插件
  4. 定期更新WordPress核心、主题和插件

限制登录尝试

安装 Limit Login Attempts Reloaded 插件,防止暴力破解。

禁用XML-RPC

XML-RPC是常见的攻击入口。在Nginx配置中禁用:

# 禁止访问xmlrpc.php
location = /xmlrpc.php {
    deny all;
}

修改登录地址

安装 WPS Hide Login 插件,将默认的 /wp-admin 改为自定义路径。

八、数据备份与恢复

使用UpdraftPlus插件

  1. 安装UpdraftPlus插件
  2. 设置 > UpdraftPlus Backups
  3. 配置备份计划(建议每周自动备份)
  4. 设置远程存储(Google Drive、OneDrive、S3等)

Docker手动备份

cd /opt/wordpress

# 停止服务
docker compose stop

# 备份WordPress文件
docker run --rm -v wordpress_wp_data:/data -v $(pwd):/backup alpine tar czf /backup/wp-files-$(date +%Y%m%d).tar.gz /data

# 备份数据库
docker exec wp-db mysqldump -u root -pwproot2026 wordpress > wordpress-db-$(date +%Y%m%d).sql

# 启动服务
docker compose start

恢复备份

# 恢复数据库
docker exec -i wp-db mysql -u root -pwproot2026 wordpress < wordpress-db-backup.sql

# 恢复文件
docker run --rm -v wordpress_wp_data:/data -v $(pwd):/backup alpine sh -c "rm -rf /data/* && tar xzf /backup/wp-files-backup.tar.gz -C /"

九、常见问题

WordPress访问很慢怎么办?

  1. 安装缓存插件(WP Super Cache)
  2. 开启BBR加速(参考BBR加速教程
  3. 使用Cloudflare CDN加速
  4. 优化图片大小

VPS配置怎么选?

  • 个人博客:1核1G足够
  • 企业站/商城:建议2核2G以上
  • 高流量站:4核4G起步,搭配Redis缓存

忘记管理员密码怎么办?

docker exec -it wp-app bash
# 使用WP-CLI重置密码
wp user update admin --user_pass="新密码" --allow-root

总结

WordPress + Docker + 便宜VPS是性价比最高的建站方案。一台一年几十块钱的VPS就能跑起一个完整的WordPress网站。配合Cloudflare CDN和Nginx缓存,访问速度完全不输昂贵的虚拟主机。如果你打算建一个博客或企业官网,WordPress绝对是最值得选择的方案。