在一个服务器上搭建多个 WordPress 站点是完全可行的,常见的方法有以下几种:
✅ 一、使用不同的子目录(Subdirectory)部署多个 WordPress
适用场景:
- 同一个域名下,比如
example.com/site1和example.com/site2
步骤:
- 安装第一个 WordPress 到根目录(如
/var/www/html) - 创建新文件夹用于第二个站点,例如:
/var/www/html/site1 - 下载并解压另一个 WordPress 到这个文件夹
- 为每个 WordPress 创建独立数据库和数据库用户
- 配置 wp-config.php 文件,连接各自的数据库
- 通过浏览器访问
example.com/site1/wp-admin/install.php安装
✅ 二、使用子域名(Subdomain)部署多个 WordPress
适用场景:
- 多个子域名,如
site1.example.com和site2.example.com
步骤:
- 在服务器上创建不同目录,例如:
/var/www/site1/var/www/site2
- 分别为每个目录安装 WordPress
- 配置 Web 服务器(Apache/Nginx)虚拟主机指向对应目录
- 为每个站点配置独立数据库
- 配置 DNS 添加子域名 A 记录或 CNAME 指向服务器 IP
Apache 示例配置:
<VirtualHost *:80>
ServerName site1.example.com
DocumentRoot /var/www/site1
</VirtualHost>
<VirtualHost *:80>
ServerName site2.example.com
DocumentRoot /var/www/site2
</VirtualHost>
Nginx 示例配置:
server {
listen 80;
server_name site1.example.com;
root /var/www/site1;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
✅ 三、使用多站点网络(WordPress Multisite)
适用场景:
- 所有网站共用一个后台管理界面,适合统一管理多个博客/站点
步骤:
- 启用 WordPress 多站点功能
- 修改
wp-config.php,添加:define('WP_ALLOW_MULTISITE', true);
- 修改
- 进入仪表盘 > 工具 > 配置网络
- 选择子域名或子目录模式
- 根据提示修改
wp-config.php和.htaccess或 Nginx 配置 - 创建新站点即可
⚠️ 注意:Multisite 中插件、主题等资源是共享的,权限管理和安全策略需要更细致。
✅ 四、使用 Docker 容器化部署多个 WordPress
适用场景:
- 想要快速部署多个隔离环境的 WordPress 站点
示例命令(Docker Compose):
version: '3'
services:
wordpress1:
image: wordpress
ports:
- "8001:80"
environment:
WORDPRESS_DB_NAME: wordpress1
WORDPRESS_DB_USER: user1
WORDPRESS_DB_PASSWORD: pass1
volumes:
- ./wordpress1:/var/www/html
wordpress2:
image: wordpress
ports:
- "8002:80"
environment:
WORDPRESS_DB_NAME: wordpress2
WORDPRESS_DB_USER: user2
WORDPRESS_DB_PASSWORD: pass2
volumes:
- ./wordpress2:/var/www/html
然后访问:
- http://localhost:8001
- http://localhost:8002
🔐 小贴士:
- 每个 WordPress 使用独立数据库
- 保持更新和备份,防止相互影响
- 如果是生产环境,建议配合 HTTPS(可以用 Let’s Encrypt)
📌 总结对比:
| 方法 | 优点 | 缺点 |
|---|---|---|
| 子目录 | 易于部署 | URL 结构不优雅 |
| 子域名 | 多个独立域名 | 需要 DNS 设置 |
| 多站点网络 | 统一管理 | 插件兼容性问题 |
| Docker | 环境隔离好 | 技术门槛稍高 |
如果你告诉我你使用的服务器系统(如 Ubuntu)、Web 服务器(Nginx/Apache)以及用途,我可以给出更具体的部署指南。需要吗?
云知识