同一台服务器如何搭建多个WordPress网站?

在同一台服务器上搭建多个 WordPress 网站是一个常见需求,比如用于托管多个客户的网站、开发/测试/生产环境,或者个人管理多个博客。下面是详细的步骤和方法:


🧩 一、准备工作

确保你已经准备好以下内容:

  • 一台服务器(VPS 或云主机,如阿里云、腾讯云、AWS 等)
  • 安装了 Web 服务器软件(如 Nginx 或 Apache)
  • 数据库服务(如 MySQL / MariaDB)
  • PHP 环境(WordPress 所需)
  • 多个域名或子域名(可选)

🛠 二、搭建多个 WordPress 的几种方式

✅ 方法一:使用不同的虚拟主机配置(推荐)

这是最常见的方式,适用于大多数场景。

步骤如下:

  1. 安装 LAMP / LEMP 环境

    • Linux + Apache/Nginx + MySQL + PHP
    • 比如:Ubuntu + Nginx + MySQL + PHP
  2. 为每个网站创建独立数据库

    mysql -u root -p
    CREATE DATABASE wp_site1;
    CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON wp_site1.* TO 'wp_user1'@'localhost';
    FLUSH PRIVILEGES;
    exit;
  3. 下载 WordPress 到不同目录

    • 比如:
      • /var/www/site1
      • /var/www/site2

    下载命令示例:

    cd /var/www
    wget https://wordpress.org/latest.tar.gz
    tar -xzvf latest.tar.gz
    mv wordpress site1
    cp -r site1 site2
  4. 设置权限

    chown -R www-data:www-data /var/www/site1
    chmod -R 755 /var/www/site1
  5. 配置虚拟主机(以 Nginx 为例)

    编辑站点配置文件:

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

    内容如下:

    server {
       listen 80;
       server_name site1.com www.site1.com;
    
       root /var/www/site1;
       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;
       }
    }

    同理配置 site2.conf,并启用站点:

    sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
    sudo nginx -t && sudo systemctl reload nginx
  6. 访问网站进行安装

    • 浏览器打开 http://site1.com/wp-admin/install.php
    • 填写数据库信息(对应之前创建的数据库和用户)
    • 完成 WordPress 安装

✅ 方法二:使用 WordPress 多站点网络(Multisite)

如果你希望用一个 WordPress 安装实例来管理多个子网站(如 blog.example.com、site1.example.com),可以使用 Multisite 功能。

步骤如下:

  1. 修改 wp-config.php 添加:

    define('WP_ALLOW_MULTISITE', true);
  2. 登录后台 → 工具 → 配置网络

    • 选择“子域名”或“子目录”
    • 按提示修改 wp-config.php.htaccess 文件
  3. 配置 DNS(如果是子域名)

    • 设置泛域名解析 *.example.com 指向服务器 IP
  4. 完成后即可在网络管理员中添加新站点

⚠️ 注意:这种方式适合统一管理多个站点,但所有网站共享插件、主题和部分设置。


✅ 方法三:使用 Docker(高级)

你可以使用 Docker Compose 创建多个 WordPress 容器,每个容器运行一个独立网站。

# docker-compose.yml 示例
version: '3'
services:
  site1:
    image: wordpress
    ports:
      - "8001:80"
    environment:
      WORDPRESS_DB_NAME: wp_site1
      WORDPRESS_DB_USER: user1
      WORDPRESS_DB_PASSWORD: pass1
    volumes:
      - ./site1:/var/www/html

  site2:
    image: wordpress
    ports:
      - "8002:80"
    environment:
      WORDPRESS_DB_NAME: wp_site2
      WORDPRESS_DB_USER: user2
      WORDPRESS_DB_PASSWORD: pass2
    volumes:
      - ./site2:/var/www/html

启动服务:

docker-compose up -d

📝 三、总结对比

方法 是否独立 管理难度 推荐场景
虚拟主机配置 完全独立 中等 多客户、多域名网站
WordPress Multisite 共享资源 中高 统一品牌下的多个子站点
Docker 完全独立 开发、测试、部署自动化

✅ 四、注意事项

  • 每个网站应使用独立数据库和用户名
  • 确保服务器资源(CPU、内存、磁盘)足够支撑多个站点
  • 使用 Let’s Encrypt 可以为每个站点配置 HTTPS
  • 定期备份各网站数据

如果你告诉我你的服务器系统(如 Ubuntu)、Web 服务器类型(Nginx/Apache)、是否已有环境,我可以提供更具体的命令帮助你搭建。需要吗?

未经允许不得转载:CLOUD技术博 » 同一台服务器如何搭建多个WordPress网站?