如何在同一个服务器上搭建5个独立的WordPress站点?

在同一个服务器上搭建 5 个独立的 WordPress 站点(即每个站点拥有独立域名、独立数据库、独立文件、互不干扰),有以下几种主流且推荐的方式,按推荐度和实用性排序


✅ 推荐方案:多站点子目录/子域名 + 独立安装(最灵活、安全、易维护)

⚠️ 注意:这不是 WordPress 的「Multisite 多站点网络」(它共享核心和插件,管理统一但隔离性弱),而是 5 个完全独立的 WordPress 实例 —— 这才是真正的“网站点”。


✅ 方案一:独立安装(强烈推荐 ✅)

每个站点使用独立:

  • 域名(如 site1.com, site2.net, blog.example.org
  • 根目录(如 /var/www/site1.com/, /var/www/site2.net/
  • MySQL 数据库(wp_site1, wp_site2, …)
  • PHP-FPM 进程池(可选,提升隔离与性能)
  • Nginx/Apache 虚拟主机配置

🛠 操作步骤(以 Ubuntu + Nginx + MariaDB + PHP 8.2 为例):

1️⃣ 准备环境(一次执行)

sudo apt update && sudo apt install -y nginx mariadb-server php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-xmlrpc php8.2-zip php8.2-opcache
sudo mysql_secure_installation  # 初始化数据库安全设置

2️⃣ 为每个站点创建独立数据库和用户(示例:site1.com)

sudo mysql -u root -p -e "
CREATE DATABASE wp_site1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY '强密码1';
GRANT ALL ON wp_site1.* TO 'wp_user1'@'localhost';
FLUSH PRIVILEGES;"

✅ 重复此步创建 wp_site2 ~ wp_site5 及对应用户。

3️⃣ 创建网站根目录 & 设置权限

sudo mkdir -p /var/www/site1.com /var/www/site2.net /var/www/site3.org /var/www/site4.blog /var/www/site5.dev
sudo chown -R $USER:$USER /var/www/site1.com
sudo chmod -R 755 /var/www

4️⃣ 下载并部署 WordPress(以 site1.com 为例)

cd /var/www/site1.com
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz --strip-components=1
rm latest.tar.gz
cp wp-config-sample.php wp-config.php

✅ 编辑 wp-config.php,填入数据库名、用户名、密码、DB_HOST(通常 localhost
✅ 强烈建议添加唯一密钥(https://api.wordpress.org/secret-key/1.1/salt/)

5️⃣ 配置 Nginx 虚拟主机(/etc/nginx/sites-available/site1.com

server {
    listen 80;
    server_name site1.com www.site1.com;
    root /var/www/site1.com;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /.ht {
        deny all;
    }
}

✅ 启用站点:

sudo ln -sf /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

✅ 对 site2.net ~ site5.dev 重复步骤 4–5(注意修改域名、路径、数据库配置)。

6️⃣ (可选)启用 HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d site1.com -d www.site1.com
# 按提示自动配置 HTTPS,后续对其他域名重复执行

7️⃣ 完成安装

访问 http://site1.com → 按向导完成 WordPress 安装(填写站点标题、管理员账号等)。
✅ 5 个站点完全独立:可各自升级核心/主题/插件,互不影响;数据库分离,安全性高;SEO、SSL、缓存均可单独配置。


🚫 不推荐方案(避免踩坑)

方案 问题
WordPress Multisite(多站点网络) 所有站点共享同一数据库表前缀(如 wp_2_posts)、同一后台、同一插件/主题管理。一旦核心或插件出错,5 站全瘫;无法单独备份/迁移某一站;SEO 和权限管理复杂。❌ 不满足“独立”需求。
子目录型伪多站(如 site.com/site1/) 共享主站数据库与用户系统;URL 层级深,SEO 劣势;难以实现真正独立域名绑定。❌ 非独立。
Docker 单容器跑 5 站 容器设计原则是「一容器一进程」,强行塞 5 站违背最佳实践,运维复杂。✅ 可用 Docker Compose(每个站一个容器),但对新手过重。

✅ 进阶优化建议(提升稳定性与效率)

项目 推荐做法
PHP 隔离 为每个站点配置独立 PHP-FPM pool(/etc/php/8.2/fpm/pool.d/site1.conf),限制内存/CPU/进程数,防一占全崩。
备份策略 使用 wp-cli + cron 自动备份:
wp db export /backups/site1_$(date +%F).sql --path=/var/www/site1.com
搭配 rsyncrclone 同步到异地。
缓存提速 每站单独启用 Redis 缓存(需安装 php-redis + WP 插件如 Redis Object Cache)或 Nginx FastCGI 缓存。
安全加固 每站启用 Wordfence 或 Sucuri;禁用 XML-RPC;隐藏 wp-login.php(用插件如 WPS Hide Login);定期更新。
监控告警 使用 netdataUptime Kuma 监控各站点 HTTP 状态码、响应时间。

✅ 总结:你的 5 站独立架构图

[公网] 
  │
  ├─ site1.com   → /var/www/site1.com   → DB: wp_site1     → Nginx vhost + PHP-FPM pool1
  ├─ site2.net   → /var/www/site2.net   → DB: wp_site2     → Nginx vhost + PHP-FPM pool2
  ├─ site3.org   → /var/www/site3.org   → DB: wp_site3     → ...
  ├─ site4.blog  → /var/www/site4.blog  → DB: wp_site4
  └─ site5.dev   → /var/www/site5.dev   → DB: wp_site5

✅ 完全符合“独立”定义:独立域名、独立文件、独立数据库、独立配置、独立管理、独立备份。


需要我为你:

  • ✅ 自动生成 5 个 Nginx 配置文件模板?
  • ✅ 提供一键部署脚本(Bash)?
  • ✅ 输出 PHP-FPM 隔离配置样例?
  • ✅ 推荐轻量级面板(如 aaPanel / RunCloud)简化操作?

欢迎随时告诉我,我可以立刻生成 👇

未经允许不得转载:ECLOUD博客 » 如何在同一个服务器上搭建5个独立的WordPress站点?