加油
努力

如何在一台云服务器上搭建多个WordPress网站?

在一台云服务器上搭建多个 WordPress 网站是完全可行的,通常通过 虚拟主机(Virtual Hosts)反向X_X(Reverse Proxy) 的方式实现。以下是详细的步骤,适用于基于 Linux(如 Ubuntu/CentOS)的云服务器。


🧰 准备工作

  1. 购买并登录云服务器

    • 选择主流云服务商(如阿里云、腾讯云、AWS、DigitalOcean 等)
    • 操作系统推荐:Ubuntu 20.04/22.04 或 CentOS 7/8
  2. 域名准备

    • 至少两个域名或子域名,例如:
      • site1.com
      • site2.com
      • 或使用子域名:blog1.yoursite.com, blog2.yoursite.com
  3. 解析域名到服务器 IP

    • 在域名管理后台添加 A 记录,指向你的云服务器公网 IP

✅ 步骤一:安装 LAMP 或 LEMP 环境

你可以选择 Apache 或 Nginx。这里以 Nginx + PHP-FPM + MySQL(LEMP) 为例(更高效):

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

# 安装 Nginx
sudo apt install nginx -y

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

# 安装 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

✅ 步骤二:为每个网站创建独立目录和数据库

1. 创建网站目录

sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html

# 设置权限
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
sudo chmod -R 755 /var/www

2. 为每个网站创建独立数据库

登录 MySQL:

sudo mysql -u root -p

执行 SQL 命令:

-- 为 site1 创建数据库和用户
CREATE DATABASE wp_site1;
CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'StrongPassword1!';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'wp_user1'@'localhost';
FLUSH PRIVILEGES;

-- 为 site2 创建数据库和用户
CREATE DATABASE wp_site2;
CREATE USER 'wp_user2'@'localhost' IDENTIFIED BY 'StrongPassword2!';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'wp_user2'@'localhost';
FLUSH PRIVILEGES;

EXIT;

✅ 步骤三:配置 Nginx 虚拟主机(Server Blocks)

1. 为 site1.com 创建配置文件

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

内容如下:

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

    root /var/www/site1.com/html;
    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/php-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

2. 为 site2.com 创建配置文件

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

内容类似,仅修改 server_nameroot

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

    root /var/www/site2.com/html;
    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/php-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

3. 启用站点(创建软链接)

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/

⚠️ 删除默认站点(可选):

sudo rm /etc/nginx/sites-enabled/default

4. 测试并重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

✅ 步骤四:下载并安装 WordPress

下载 WordPress 到每个网站目录

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz

安装 site1.com

sudo cp -r /tmp/wordpress/* /var/www/site1.com/html/
sudo chown -R www-data:www-data /var/www/site1.com/html

安装 site2.com

sudo cp -r /tmp/wordpress/* /var/www/site2.com/html/
sudo chown -R www-data:www-data /var/www/site2.com/html

✅ 步骤五:完成 WordPress 安装

访问浏览器:

  • 打开 http://site1.com → 进入 WordPress 安装向导
  • 数据库信息填写:
    • 数据库名:wp_site1
    • 用户名:wp_user1
    • 密码:StrongPassword1!
    • 数据库主机:localhost
    • 表前缀:建议改为 wp1_(避免混淆)

同理安装 site2.com,使用对应的数据库和前缀(如 wp2_)。


✅ (可选)配置 HTTPS(推荐使用 Let’s Encrypt)

安装 Certbot:

sudo apt install certbot python3-certbot-nginx -y

为每个站点申请 SSL 证书:

sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com

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


✅ 管理建议

功能 推荐做法
备份 使用 mysqldump + 文件压缩定期备份
安全 修改 wp-config.php 权限为 600,禁用文件编辑
性能 安装缓存插件(如 WP Super Cache)或 Redis 缓存
更新 分别更新各站点的 WordPress 核心、主题和插件

✅ 总结

✅ 你已经成功在一台云服务器上运行了多个独立的 WordPress 网站!

核心要点:

  • 使用 Nginx 虚拟主机 实现多站点
  • 每个网站有 独立目录 + 独立数据库
  • 域名通过 DNS 解析到服务器 IP
  • 推荐开启 HTTPS 提高安全性

如有需要,也可以使用 Docker 来更方便地管理多个 WordPress 实例(适合进阶用户)。欢迎继续提问!

云服务器