在一个服务器上搭建多个 WordPress 网站是完全可行的,而且有多种实现方式。这种做法可以节省成本(比如只用一个 VPS 或云服务器),同时便于集中管理。下面是一些常见方法和注意事项:
✅ 一、常见的部署方式
方法1:使用不同的子目录(Subdirectory)
- 所有网站都在同一个域名下,如:
example.com/site1example.com/site2
优点:
- 配置简单
- 资源共享容易
缺点:
- 每个网站不能拥有独立域名
- SEO 和品牌建设不如多域名好
适合场景: 同一主题或品牌的多个页面
方法2:使用不同的子域名(Subdomain)
- 如:
site1.example.comsite2.example.com
实现方式:
- 在服务器中为每个子域名配置虚拟主机(Apache)或 server block(Nginx)
- 每个 WordPress 安装在不同目录下,绑定对应的子域名
优点:
- 每个站点相对独立
- 易于扩展
适合场景: 多个相关网站,例如博客、论坛、官网等
方法3:使用不同的主域名(Multi-Site)
- 如:
example1.comexample2.com
实现方式:
- 使用 Apache 的 VirtualHost 或 Nginx 的 server blocks 来绑定不同域名到不同的 WordPress 安装目录
- 每个域名对应一个独立的 WordPress 实例
优点:
- 完全独立的站点
- 可以使用不同的 SSL 证书、插件、主题等
适合场景: 完全不同的客户或项目
方法4:使用 WordPress Multisite(多站点网络)
- 单一 WordPress 安装,支持多个子域或子目录站点
优点:
- 共享用户系统、插件管理、统一后台
- 节省资源和维护成本
缺点:
- 插件兼容性问题
- 管理复杂度较高
- 不适合完全独立的网站
适合场景: 教育机构、连锁品牌、社区平台等需要统一管理的多站点需求
✅ 二、服务器环境建议
常见组合:
- LAMP(Linux + Apache + MySQL + PHP)
- LEMP(Linux + Nginx + MySQL + PHP)
推荐工具:
- Virtual Host / Server Block 配置
- Let’s Encrypt:免费 SSL 证书
- phpMyAdmin / Adminer:数据库管理
- WP-CLI:命令行管理多个 WordPress 站点
✅ 三、具体操作步骤示例(Ubuntu + Apache)
步骤1:安装 LAMP
sudo apt update
sudo apt install apache2 mysql-server php php-mysql unzip -y
步骤2:为每个网站创建目录
sudo mkdir -p /var/www/example1.com/public_html
sudo mkdir -p /var/www/example2.com/public_html
步骤3:配置虚拟主机
创建两个 .conf 文件:
sudo nano /etc/apache2/sites-available/example1.com.conf
sudo nano /etc/apache2/sites-available/example2.com.conf
内容示例:
<VirtualHost *:80>
ServerName example1.com
ServerAlias www.example1.com
DocumentRoot /var/www/example1.com/public_html
</VirtualHost>
启用站点并重启 Apache:
sudo a2ensite example1.com.conf
sudo a2ensite example2.com.conf
sudo systemctl restart apache2
步骤4:下载并安装 WordPress 到各自目录
cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
cp -r wordpress/* /var/www/example1.com/public_html/
然后重复对 example2.com 进行相同操作。
步骤5:设置权限
sudo chown -R www-data:www-data /var/www/example1.com/public_html
sudo chmod -R 755 /var/www
✅ 四、其他建议
| 项目 | 建议 |
|---|---|
| 数据库 | 每个网站使用独立数据库或前缀 |
| 性能优化 | 使用缓存插件(如 WP Super Cache)、CDN |
| 安全 | 每个站点都要更新 WordPress 核心、插件、主题 |
| 自动化 | 使用脚本或 Docker 部署多个 WordPress 站点 |
✅ 五、进阶方案:Docker 部署多个 WordPress 站点
你可以使用 Docker Compose 一键部署多个 WordPress 实例,每个实例使用不同的端口、域名、数据库。
version: '3'
services:
db1:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wp1
volumes:
- db1_data:/var/lib/mysql
wordpress1:
depends_on:
- db1
image: wordpress:latest
ports:
- "8001:80"
environment:
WORDPRESS_DB_HOST: db1:3306
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: rootpass
WORDPRESS_DB_NAME: wp1
volumes:
- wp1_data:/var/www/html
volumes:
db1_data:
wp1_data:
类似地添加
wordpress2,db2等即可。
✅ 总结
| 方法 | 是否独立域名 | 是否推荐 | 适用场景 |
|---|---|---|---|
| 子目录 | ❌ | ⚠️ | 同一品牌下的多个页面 |
| 子域名 | ✅ | ✅ | 多个关联网站 |
| 多域名 | ✅ | ✅✅ | 多个独立网站 |
| WordPress Multisite | ✅(子域/子目录) | ✅✅ | 统一管理的多站点网络 |
| Docker 多容器 | ✅ | ✅✅✅ | 技术向部署,自动化强 |
如果你告诉我你的服务器类型(如:Ubuntu、CentOS、Windows Server)、是否已有域名、以及你希望部署多少个 WordPress 站点,我可以给你定制一份详细的部署方案。
是否需要我为你写一个完整的部署脚本?
CLOUD技术博