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

在一台服务器上搭建多个 WordPress 网站是完全可行的,常见的方法有以下几种:


✅ 一、使用虚拟主机(Virtual Host)配置

这是最常见的方式,适用于 Apache 或 Nginx 这类 Web 服务器软件。

🔧 步骤如下:

1. 安装 LAMP 或 LEMP 环境

  • LAMP:Linux + Apache + MySQL + PHP
  • LEMP:Linux + Nginx + MySQL + PHP

你可以选择其中一个组合来搭建环境。例如:

sudo apt update && sudo apt install apache2 mysql-server php php-mysql -y

2. 创建多个网站目录

例如:

/var/www/site1
/var/www/site2

3. 为每个站点创建虚拟主机配置文件(Apache 示例)

以 Apache 为例,在 /etc/apache2/sites-available/ 创建两个 .conf 文件:

site1.conf

<VirtualHost *:80>
    ServerAdmin admin@site1.com
    DocumentRoot /var/www/site1
    ServerName site1.com
    ServerAlias www.site1.com
    <Directory /var/www/site1/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

site2.conf

<VirtualHost *:80>
    ServerAdmin admin@site2.com
    DocumentRoot /var/www/site2
    ServerName site2.com
    ServerAlias www.site2.com
    <Directory /var/www/site2/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

启用这些站点:

sudo a2ensite site1.conf
sudo a2ensite site2.conf
sudo systemctl reload apache2

4. 为每个站点创建独立的数据库和用户(MySQL)

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;

-- 同理创建 wp_site2 和 wp_user2

5. 分别下载并配置 WordPress 到各自目录

cd /var/www/site1
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
cp -r wordpress/* .
rm -rf wordpress latest.tar.gz

然后访问 http://site1.com/wp-admin/install.php 安装 WordPress,并填写对应的数据库信息。

重复这个步骤用于其他网站。


✅ 二、使用子目录或子域名方式(适合共用一个 WordPress)

如果你希望所有网站都运行在同一个 WordPress 实例中,可以使用 WordPress 多站点网络(Multisite) 功能。

📌 优点:

  • 统一管理后台
  • 插件/主题共享
  • 用户统一登录

📌 缺点:

  • 所有站点共享插件/主题资源
  • 单点故障风险高

启用多站点步骤:

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

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

  3. 按提示选择子域名或子目录模式

  4. 根据提示修改 wp-config.php.htaccess 文件

  5. 重启 Apache/Nginx


✅ 三、使用 Docker 容器化部署(高级推荐)

Docker 可以让你轻松隔离多个 WordPress 站点,互不干扰。

示例命令(使用 docker-compose):

# 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

访问:

  • http://localhost:8001 → site1
  • http://localhost:8002 → site2

✅ 四、注意事项

注意事项 说明
域名绑定 每个网站需要绑定不同的域名或子域名
数据库分离 推荐每个站点使用独立数据库
权限问题 确保网站目录权限正确(通常为 www-data
性能优化 如果流量大,建议使用缓存插件或 CDN
SSL 支持 可以为每个站点单独申请 SSL 证书

✅ 总结

方法 适用场景 优点 缺点
虚拟主机 多个独立 WordPress 站点 灵活、性能好 需要手动配置
WordPress 多站点 管理多个相关网站 易于统一管理 不够灵活
Docker 容器 开发测试或部署多个项目 隔离性好,易于维护 学习成本略高

如需我帮你写一份完整的配置示例或者脚本,请告诉我你使用的 Web 服务器(Apache/Nginx/Docker)以及系统版本(如 Ubuntu 22.04)。