加油
努力

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

在同一个服务器上搭建5个独立的WordPress站点是完全可行的,以下是详细的步骤和最佳实践:


✅ 一、准备工作

  1. 服务器环境要求

    • 操作系统:Ubuntu/Debian/CentOS(推荐 Ubuntu 20.04+)
    • Web服务器:Nginx 或 Apache
    • 数据库:MySQL 或 MariaDB
    • PHP:PHP 7.4 或更高版本
    • 域名或子域名(如:site1.com, site2.com, blog.site3.com 等)
  2. 推荐工具

    • 使用 Let's Encrypt 免费 SSL 证书
    • 使用 WP-CLI 快速部署 WordPress

✅ 二、安装基础环境(以 Ubuntu + Nginx + MySQL + PHP-FPM 为例)

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Nginx
sudo apt install nginx -y

# 安装 MySQL
sudo apt install mysql-server -y
sudo mysql_secure_installation

# 安装 PHP 及扩展
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

# 启动并设置开机自启
sudo systemctl enable nginx mysql php-fpm
sudo systemctl start nginx mysql php-fpm

✅ 三、为每个站点创建独立的数据库

sudo mysql -u root -p

在 MySQL 中为每个站点创建数据库和用户:

CREATE DATABASE wp_site1;
CREATE USER 'user1'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;

-- 重复以下操作,共5次
CREATE DATABASE wp_site2;
CREATE USER 'user2'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user2'@'localhost';
FLUSH PRIVILEGES;

-- ... 继续 site3 到 site5

✅ 四、为每个站点创建独立的目录

sudo mkdir -p /var/www/site1.com /var/www/site2.com /var/www/site3.com /var/www/site4.com /var/www/site5.com

设置权限:

sudo chown -R www-data:www-data /var/www/
sudo chmod -R 755 /var/www/

✅ 五、下载并配置每个 WordPress 站点

方法1:手动下载

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

然后编辑 wp-config.php,修改数据库信息:

define('DB_NAME', 'wp_site1');
define('DB_USER', 'user1');
define('DB_PASSWORD', '你的密码');
define('DB_HOST', 'localhost');

其他4个站点同理,分别进入各自目录执行。

方法2:使用 WP-CLI(推荐)

# 安装 WP-CLI
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

# 在每个目录中初始化
cd /var/www/site1.com
wp core download
wp config create --dbname=wp_site1 --dbuser=user1 --dbpass=你的密码 --dbhost=localhost
wp core install --url="site1.com" --title="Site 1" --admin_user=admin --admin_password=password --admin_email=admin@site1.com

重复以上命令,更换目录和参数即可。


✅ 六、配置 Nginx 虚拟主机(每个站点一个配置文件)

创建配置文件:

sudo nano /etc/nginx/sites-available/site1.com

内容示例:

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

    root /var/www/site1.com;
    index index.php index.html index.htm;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

启用站点:

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
# 重复为 site2 到 site5 创建配置

测试并重载 Nginx:

sudo nginx -t
sudo systemctl reload nginx

✅ 七、配置域名解析

将每个域名(或子域名)的 A 记录指向你的服务器 IP 地址。

例如:

  • site1.com → 你的服务器IP
  • site2.com → 你的服务器IP

✅ 八、申请 SSL 证书(Let’s Encrypt)

使用 Certbot 为每个站点添加 HTTPS:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com

Certbot 会自动修改 Nginx 配置并启用 HTTPS。

对另外4个站点重复此命令。


✅ 九、管理建议

项目 建议
备份 使用插件(如 UpdraftPlus)或脚本定期备份数据库和文件
安全 每个站点独立登录,不共用管理员账号;定期更新核心、主题、插件
性能 可为每个站点启用缓存插件(如 WP Super Cache)
监控 使用 UptimeRobot 或类似工具监控各站点状态

✅ 十、可选优化

  • 使用 Docker 容器化部署,实现更彻底的隔离。
  • 使用 宝塔面板cPanel 图形化管理多个站点(适合新手)。
  • 使用 CDN 提速静态资源。

总结

通过上述方法,你可以在一台服务器上安全、高效地运行5个独立的 WordPress 站点,每个站点拥有:

  • 独立的文件目录
  • 独立的数据库
  • 独立的域名和 SSL 证书
  • 独立的配置和管理后台

这样既节省成本,又便于集中维护。

如果你需要自动化部署脚本,我也可以为你生成一键部署脚本。需要吗?

云服务器