在同一台服务器上运行多个 WordPress 站点是完全可行的,常见的做法包括:
✅ 一、几种常见方式
1. 多站点(Multisite)模式
WordPress 自带了多站点功能,可以在一个 WordPress 安装中管理多个子站点。
特点:
- 所有站点共享同一个 WordPress 核心文件和数据库表。
- 可以统一更新插件、主题。
- 子站点可以是子域名或子目录形式。
- 适合品牌旗下的多个相关网站。
配置步骤简要:
- 编辑
wp-config.php文件,添加:define('WP_ALLOW_MULTISITE', true); - 登录后台 → 工具 → 配置网络。
- 按提示设置为子域名或子目录模式,并修改配置文件。
- 修改
.htaccess或 Nginx 配置支持伪静态规则。
2. 多个独立安装(Multiple WordPress Installs)
在同一个服务器上安装多个互不干扰的 WordPress 实例,每个都有自己的数据库和文件。
特点:
- 各站点完全独立,互不影响。
- 更灵活,适合不同用途或用户群体。
- 更新维护工作量较大。
方法:
- 使用不同的目录路径存放 WordPress 文件,如:
/var/www/site1/var/www/site2
- 每个站点使用不同的数据库。
- 在 Web 服务器(Nginx/Apache)中配置虚拟主机(Virtual Host)来区分访问地址。
3. Docker 容器化部署
使用 Docker 容器运行多个 WordPress 实例,每个容器都是一个网站点。
特点:
- 资源隔离性好,易于扩展。
- 快速部署和迁移。
- 对系统资源要求稍高。
示例命令:
docker run --name site1 -e WORDPRESS_DB_NAME=wpdb1 -p 8001:80 -d wordpress
docker run --name site2 -e WORDPRESS_DB_NAME=wpdb2 -p 8002:80 -d wordpress
✅ 二、Web 服务器配置示例(Nginx)
假设你有两个 WordPress 站点:site1.com 和 site2.com
server {
listen 80;
server_name site1.com www.site1.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;
}
}
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2;
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 站点使用不同的数据库用户名和数据库名。
- 可使用 MySQL 的权限控制确保数据隔离。
✅ 四、注意事项
| 项目 | 多站点 | 多安装 |
|---|---|---|
| 数据库 | 共享 | 独立 |
| 插件/主题管理 | 统一管理 | 分开管理 |
| 用户体系 | 共享 | 独立 |
| 维护成本 | 较低 | 较高 |
| 安全性影响 | 一处漏洞可能影响全部 | 相对更安全 |
✅ 总结
| 场景 | 推荐方式 |
|---|---|
| 多个子站、统一管理 | WordPress Multisite |
| 不同客户或品牌 | 多个独立安装 |
| 高级部署、测试环境 | Docker 容器化 |
| 快速搭建测试环境 | Local by Flywheel / XAMPP / WAMP |
如果你告诉我你的具体需求(比如:是否是品牌下多个子站?是否希望统一管理?服务器环境?),我可以提供更具体的配置方案。
CDNK博客