在一台服务器上部署多个 WordPress 项目是完全可行的,常见的做法有以下几种方式:
✅ 一、使用虚拟主机配置(推荐)
如果你使用的是 Apache 或 Nginx 这类 Web 服务器,可以通过配置虚拟主机(Virtual Host)来实现多个 WordPress 站点运行在同一个服务器上。
1. Apache 示例
# /etc/apache2/sites-available/site1.conf
<VirtualHost *:80>
ServerAdmin admin@site1.com
DocumentRoot /var/www/site1
ServerName site1.com
ServerAlias www.site1.com
<Directory /var/www/site1/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# /etc/apache2/sites-available/site2.conf
<VirtualHost *:80>
ServerAdmin admin@site2.com
DocumentRoot /var/www/site2
ServerName site2.com
ServerAlias www.site2.com
<Directory /var/www/site2/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
然后启用站点并重启 Apache:
sudo a2ensite site1
sudo a2ensite site2
sudo systemctl restart apache2
2. Nginx 示例
# /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:/run/php/php-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:/run/php/php-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 restart nginx
✅ 二、使用子目录安装多个 WordPress
你也可以将多个 WordPress 安装在同一个域名下的不同子目录中,例如:
example.com/site1example.com/site2
这种方式适用于想共用一个域名的情况,但需要确保每个 WordPress 的 wp-config.php 中数据库名、表前缀等配置不冲突。
✅ 三、使用多站点网络(WordPress Multisite)
如果你想管理多个网站但共享用户系统或插件,可以使用 WordPress 自带的 Multisite 功能(多站点网络),支持两种模式:
- 子域名模式:如
site1.example.com,site2.example.com - 子目录模式:如
example.com/site1,example.com/site2
开启方法简要如下:
- 在
wp-config.php中添加:define('WP_ALLOW_MULTISITE', true); - 登录后台 → 工具 → 配置网络
- 按照提示修改配置文件并创建网络
✅ 四、使用 Docker 部署多个 WordPress 容器(高级)
你可以使用 Docker Compose 启动多个 WordPress 容器,每个容器对应一个网站点,端口映射不同即可。
示例 docker-compose.yml 片段:
version: '3'
services:
wordpress1:
image: wordpress
ports:
- "8001:80"
environment:
WORDPRESS_DB_NAME: wp1
WORDPRESS_DB_USER: user1
WORDPRESS_DB_PASSWORD: pass1
volumes:
- ./wp1:/var/www/html
wordpress2:
image: wordpress
ports:
- "8002:80"
environment:
WORDPRESS_DB_NAME: wp2
WORDPRESS_DB_USER: user2
WORDPRESS_DB_PASSWORD: pass2
volumes:
- ./wp2:/var/www/html
访问地址:
- http://localhost:8001
- http://localhost:8002
📝 小贴士
- 每个 WordPress 项目建议使用不同的数据库和表前缀,避免冲突。
- 如果使用域名访问,请确保 DNS 解析指向服务器 IP。
- 可以结合 Let’s Encrypt 配置 HTTPS。
- 使用防火墙限制不必要的端口开放。
如果你告诉我你的服务器环境(比如是 Apache/Nginx?Linux 发行版?是否已有 WordPress?),我可以提供更具体的配置帮助。
云知识