是的,可以在同一台服务器上部署两个(甚至多个)WordPress 网站。这在实际运维中非常常见,通常通过以下几种方式实现:
✅ 实现方式一:基于虚拟主机(Virtual Host)或多站点配置(推荐)
1. 使用 Apache 的虚拟主机(Virtual Hosts)
如果你使用的是 Apache 服务器,可以通过配置多个虚拟主机来实现。
示例:两个域名指向同一台服务器
- 网站1:
www.site1.com→/var/www/site1 - 网站2:
www.site2.com→/var/www/site2
配置步骤:
-
创建两个网站目录:
sudo mkdir -p /var/www/site1 sudo mkdir -p /var/www/site2 -
分别下载 WordPress 到两个目录:
cd /var/www/site1 && wget https://wordpress.org/latest.tar.gz && tar -xzf latest.tar.gz --strip-components=1 cd /var/www/site2 && wget https://wordpress.org/latest.tar.gz && tar -xzf latest.tar.gz --strip-components=1 -
为每个网站创建独立的数据库:
CREATE DATABASE wordpress_site1; CREATE DATABASE wordpress_site2; -
配置 Apache 虚拟主机(在
/etc/apache2/sites-available/下创建两个.conf文件):
site1.conf
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1
<Directory /var/www/site1>
AllowOverride All
</Directory>
</VirtualHost>
site2.conf
<VirtualHost *:80>
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2
<Directory /var/www/site2>
AllowOverride All
</Directory>
</VirtualHost>
-
启用站点并重启 Apache:
sudo a2ensite site1.conf sudo a2ensite site2.conf sudo systemctl reload apache2 -
分别访问
site1.com和site2.com,进行 WordPress 安装。
2. 使用 Nginx 的 server 块(如果使用 Nginx)
类似地,Nginx 支持多个 server {} 块。
/etc/nginx/sites-available/site1
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:/var/run/php/php8.1-fpm.sock;
}
}
/etc/nginx/sites-available/site2
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:/var/run/php/php8.1-fpm.sock;
}
}
启用并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2 /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
✅ 实现方式二:使用子目录(Subdirectory)
如果你想用一个主域名运行多个 WordPress 站点,比如:
example.com/site1example.com/site2
你可以将两个 WordPress 安装在子目录中,分别配置数据库和 wp-config.php,但注意 URL 重写规则。
⚠️ 注意:这种方式不如虚拟主机或子域名清晰,管理较复杂。
✅ 实现方式三:使用 WordPress 多站点(Multisite)
如果你希望多个网站共享用户、插件、主题系统,可以使用 WordPress Multisite。
- 一个 WordPress 安装,支持多个子站点。
- 支持子域名(如
site1.example.com)或子目录模式。 - 所有站点共享数据库表前缀(但独立内容)。
适合运营多个相关站点(如学校、企业部门、博客网络)。
配置方法:
- 在
wp-config.php中添加:define('WP_ALLOW_MULTISITE', true); - 登录后台,进入“工具” → “网络配置”,按提示操作。
🔐 安全与维护建议
- 每个网站使用独立数据库,避免数据混淆。
- 独立的 wp-config.php 文件,防止配置泄露。
- 定期更新 WordPress、主题和插件。
- 使用防火墙、SSL(Let’s Encrypt) 保护每个站点。
- 备份策略:为每个网站设置独立备份。
✅ 总结
| 方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 多虚拟主机(Apache/Nginx) | 不同域名 | 独立性强,易于管理 | 配置稍复杂 |
| 子目录部署 | 同一域名下多个站点 | 结构统一 | SEO 和权限管理较复杂 |
| WordPress Multisite | 多个关联站点 | 共享用户、统一管理 | 插件兼容性问题,迁移复杂 |
✅ 推荐方案:
如果你有两个独立的网站(如公司官网 + 博客),建议使用 虚拟主机 + 独立 WordPress 安装,简单、安全、灵活。
需要我帮你写一个完整的 Nginx/Apache 配置示例或自动化脚本吗?
CLOUD云