在同一个服务器上搭建多个独立的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:
四、多站点配置要点
安全建议:
- 每个站点使用独立数据库用户
- 定期更新所有WordPress核心、主题和插件
- 配置防火墙限制访问
- 启用HTTPS(使用Let’s Encrypt免费证书)
性能优化:
- 为每个站点配置缓存插件(如W3 Total Cache)
- 使用Nginx fastcgi_cache
- 考虑使用Redis或Memcached对象缓存
域名配置:
- 使用不同主域名:site1.com, site2.com
- 使用子域名:blog.domain.com, shop.domain.com
- 使用不同端口(不推荐生产环境)
五、维护建议
- 统一管理工具:使用ManageWP或MainWP集中管理多个站点
- 定期备份:每个站点单独备份数据库和文件
- 监控:设置资源使用监控和异常警报
快速选择指南:
- 新手:使用宝塔面板
- 开发者:使用Docker方案
- 生产环境:手动配置或商业面板
- 测试环境:使用子目录或不同端口
每个方案都能实现5个WordPress站点的完全独立运行,选择哪种取决于你的技术水平和具体需求。
CLOUD技术笔记