是的,你可以在同一个虚拟服务器(VPS)上部署两套 WordPress 站点。这在实际中非常常见,比如你想运行两个不同的网站、测试站点与正式站点、或者多个客户的网站等。
下面是几种常见的实现方式:
✅ 方法一:使用不同的域名或子目录
1. 使用不同的域名
- 比如
example1.com和example2.com - 配置 Apache 或 Nginx 虚拟主机(VirtualHost),为每个域名分配一个独立的 WordPress 安装目录。
- 每个 WordPress 使用独立的数据库和配置文件。
示例结构:
/var/www/example1.com/
/var/www/example2.com/
Nginx 示例配置:
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com;
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 example2.com www.example2.com;
root /var/www/example2.com;
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;
}
}
2. 使用同一个域名下的不同路径(子目录)
- 比如
example.com/site1和example.com/site2 - 可以通过子目录安装两套 WordPress,但需要注意设置正确的重写规则和 WordPress 配置。
注意事项:
- 第二个 WordPress 安装时要手动修改
wp-config.php中的$table_prefix,避免数据库表名冲突。 - 每个 WordPress 使用自己的数据库或前缀不同的同一数据库。
✅ 方法二:使用 WordPress 多站点网络(Multisite)
如果你希望两套 WordPress 共享用户系统、插件管理等,可以启用 WordPress 的 多站点模式(Multisite)。
- 支持子域(如 site1.example.com, site2.example.com)或子目录(example.com/site1)
- 所有站点共享一个 WordPress 核心代码,但数据库中用不同的表前缀区分
启用方法简述:
- 修改
wp-config.php,添加:define('WP_ALLOW_MULTISITE', true); - 登录后台 → 工具 → 配置网络
- 选择子域或子目录模式,并按提示修改配置文件
✅ 方法三:使用 Docker 容器化部署
你可以使用 Docker 运行多个 WordPress 容器实例,每个容器使用不同的端口、域名、数据库。
示例命令:
docker run -d
--name wordpress1
-e WORDPRESS_DB_NAME=wpdb1
-e WORDPRESS_DB_USER=wpuser1
-e WORDPRESS_DB_PASSWORD=wp1pass
-p 8080:80
wordpress:latest
docker run -d
--name wordpress2
-e WORDPRESS_DB_NAME=wpdb2
-e WORDPRESS_DB_USER=wpuser2
-e WORDPRESS_DB_PASSWORD=wp2pass
-p 8081:80
wordpress:latest
然后配合反向X_X(Nginx)根据域名转发到不同的端口即可。
🧠 小贴士
| 方式 | 是否推荐 | 特点 |
|---|---|---|
| 不同域名部署 | ✅ 推荐 | 灵活、独立性强 |
| 子目录部署 | ⚠️ 一般 | 需注意路径重写问题 |
| 多站点网络 | ✅ 推荐 | 适合统一管理多个站点 |
| Docker 容器 | ✅ 推荐 | 易于隔离、扩展、维护 |
🛠️ 总结
你可以根据需求选择以下方式之一:
- 两个独立的 WordPress 网站(不同域名)——最常用
- WordPress 多站点网络——适合统一管理
- Docker 容器化部署——适合高级用户或 DevOps 场景
如果你告诉我你的具体环境(比如是否是 Ubuntu + Apache/Nginx + MySQL),我可以提供更详细的步骤指南!
CLOUD技术博