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

在同一个服务器上搭建多个独立的WordPress站点,可以通过以下几种主流方法实现:

一、推荐方案:使用虚拟主机控制面板

1. 宝塔面板(推荐新手)

# 安装宝塔面板
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

# 安装后通过Web界面:
# 1. 创建5个网站,分配不同域名或子域名
# 2. 每个站点使用独立的数据库
# 3. 一键安装WordPress

2. cPanel/WHM(商业版)

  • 专业虚拟主机管理面板
  • 每个WordPress站点完全隔离
  • 适合商业环境

二、手动配置方案(基于LNMP)

步骤1:环境准备

# 安装LNMP环境
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc

步骤2:创建数据库

-- 为每个站点创建独立数据库
CREATE DATABASE wp_site1;
CREATE DATABASE wp_site2;
CREATE DATABASE wp_site3;
CREATE DATABASE wp_site4;
CREATE DATABASE wp_site5;

-- 创建对应的用户并授权
CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL ON wp_site1.* TO 'wp_user1'@'localhost';
-- 重复为每个站点创建用户

步骤3:Nginx配置

# /etc/nginx/sites-available/site1.conf
server {
    listen 80;
    server_name site1.yourdomain.com;
    root /var/www/site1;

    index index.php;

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

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

    location ~ /.ht {
        deny all;
    }
}

步骤4:创建站点目录和权限

# 创建5个站点目录
sudo mkdir -p /var/www/{site1,site2,site3,site4,site5}

# 下载WordPress
cd /var/www/site1
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz

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

# 重复以上步骤创建其他4个站点

步骤5:配置PHP-FPM池(可选但推荐)

# 复制默认池配置文件
sudo cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/site1.conf

# 修改配置,每个站点使用独立池
[site1]
user = www-data
group = www-data
listen = /run/php/php8.1-fpm-site1.sock

三、使用Docker方案(推荐高级用户)

# docker-compose.yml 示例
version: '3'

services:
  wordpress1:
    image: wordpress:latest
    container_name: wp-site1
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wp_site1
      WORDPRESS_DB_USER: wp_user1
      WORDPRESS_DB_PASSWORD: password1
    volumes:
      - ./site1:/var/www/html
    ports:
      - "8081:80"

  wordpress2:
    image: wordpress:latest
    container_name: wp-site2
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wp_site2
      WORDPRESS_DB_USER: wp_user2
      WORDPRESS_DB_PASSWORD: password2
    volumes:
      - ./site2:/var/www/html
    ports:
      - "8082:80"

  # 继续添加其他3个站点...

  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: root_password
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

四、多站点配置要点

安全建议:

  1. 每个站点使用独立数据库用户
  2. 定期更新所有WordPress核心、主题和插件
  3. 配置防火墙限制访问
  4. 启用HTTPS(使用Let’s Encrypt免费证书)

性能优化:

  1. 为每个站点配置缓存插件(如W3 Total Cache)
  2. 使用Nginx fastcgi_cache
  3. 考虑使用Redis或Memcached对象缓存

域名配置:

  • 使用不同主域名:site1.com, site2.com
  • 使用子域名:blog.domain.com, shop.domain.com
  • 使用不同端口(不推荐生产环境)

五、维护建议

  1. 统一管理工具:使用ManageWP或MainWP集中管理多个站点
  2. 定期备份:每个站点单独备份数据库和文件
  3. 监控:设置资源使用监控和异常警报

快速选择指南:

  • 新手:使用宝塔面板
  • 开发者:使用Docker方案
  • 生产环境:手动配置或商业面板
  • 测试环境:使用子目录或不同端口

每个方案都能实现5个WordPress站点的完全独立运行,选择哪种取决于你的技术水平和具体需求。

云服务器