是的,同一台服务器上可以运行多个 WordPress 网站。这是非常常见的一种做法,适用于个人博客、企业多站点管理、客户项目托管等场景。
下面是一些常见的实现方式和注意事项:
✅ 实现方式
1. 使用不同的目录(子目录)
每个 WordPress 安装在服务器上的不同目录中,例如:
/var/www/site1/var/www/site2
配置要点:
- 每个站点绑定不同的域名或子域名(通过虚拟主机配置)
- Apache 或 Nginx 中配置多个
VirtualHost或server块 - 每个 WordPress 使用独立数据库和配置文件(
wp-config.php)
2. WordPress 多站点网络(Multisite Network)
WordPress 自带一个多站点功能,允许你用一个 WordPress 安装来托管多个子站点。
优点:
- 共享插件、主题、用户系统
- 统一后台管理多个网站
缺点:
- 所有站点共享同一个 WordPress 核心版本
- 插件和主题管理需要统一控制
- 不适合完全独立的多个项目
启用方法:
在 wp-config.php 中添加:
define('WP_ALLOW_MULTISITE', true);
然后在后台启用“多站点网络”。
3. 使用 Docker 容器化部署
如果你熟悉 Docker,可以为每个 WordPress 站点创建独立容器,使用不同的端口或反向X_X分发到不同域名。
示例结构:
site1.example.com→ 容器 A(DB A)site2.example.com→ 容器 B(DB B)
优点:
- 完全隔离环境
- 易于扩展和维护
4. 使用虚拟主机 + 子域名或子路径
比如:
- blog1.example.com 和 blog2.example.com 分别指向不同的 WordPress 安装目录
- 或者 example.com/blog1 和 example.com/blog2,但后者较难维护
🛠️ 技术准备
| 项目 | 内容 |
|---|---|
| Web Server | Apache / Nginx |
| 数据库 | MySQL / MariaDB(每个站点最好独立数据库) |
| PHP | 可共用,也可为每个站点指定不同版本(如使用 php-fpm + 多版本 PHP) |
| 文件权限 | 确保每个 WordPress 的目录权限正确 |
🔐 安全建议
- 每个 WordPress 站点使用独立数据库账户
- 设置合适的文件权限(通常:755 目录,644 文件)
- 使用
.htaccess或 Nginx 规则防止敏感文件泄露 - 定期更新所有 WordPress 安装和插件
🧪 示例:Nginx 多站点配置
# site1.conf
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/php8.1-fpm.sock;
}
}
# site2.conf
server {
listen 80;
server_name site2.example.com;
root /var/www/site2;
...
}
❓常见问题
Q: 能不能共享数据库?
A: 可以,但必须使用不同的表前缀(table prefix),推荐还是各自独立数据库更安全清晰。
Q: 如何管理多个 WordPress?
A: 可以使用工具如 MainWP、Infinite WP 来集中管理多个站点。
如果你告诉我你的服务器环境(比如 Ubuntu + Apache 还是 CentOS + Nginx),我可以提供更具体的配置示例。
是否需要我帮你写一个完整的部署教程?
ECLOUD博客