在同一个服务器上搭建5个独立的WordPress站点是完全可行的,以下是详细的步骤和最佳实践:
✅ 一、准备工作
-
服务器环境要求
- 操作系统:Ubuntu/Debian/CentOS(推荐 Ubuntu 20.04+)
- Web服务器:Nginx 或 Apache
- 数据库:MySQL 或 MariaDB
- PHP:PHP 7.4 或更高版本
- 域名或子域名(如:site1.com, site2.com, blog.site3.com 等)
-
推荐工具
- 使用
Let's Encrypt免费 SSL 证书 - 使用
WP-CLI快速部署 WordPress
- 使用
✅ 二、安装基础环境(以 Ubuntu + Nginx + MySQL + PHP-FPM 为例)
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Nginx
sudo apt install nginx -y
# 安装 MySQL
sudo apt install mysql-server -y
sudo mysql_secure_installation
# 安装 PHP 及扩展
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
# 启动并设置开机自启
sudo systemctl enable nginx mysql php-fpm
sudo systemctl start nginx mysql php-fpm
✅ 三、为每个站点创建独立的数据库
sudo mysql -u root -p
在 MySQL 中为每个站点创建数据库和用户:
CREATE DATABASE wp_site1;
CREATE USER 'user1'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;
-- 重复以下操作,共5次
CREATE DATABASE wp_site2;
CREATE USER 'user2'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user2'@'localhost';
FLUSH PRIVILEGES;
-- ... 继续 site3 到 site5
✅ 四、为每个站点创建独立的目录
sudo mkdir -p /var/www/site1.com /var/www/site2.com /var/www/site3.com /var/www/site4.com /var/www/site5.com
设置权限:
sudo chown -R www-data:www-data /var/www/
sudo chmod -R 755 /var/www/
✅ 五、下载并配置每个 WordPress 站点
方法1:手动下载
cd /var/www/site1.com
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz --strip-components=1
sudo cp wp-config-sample.php wp-config.php
然后编辑 wp-config.php,修改数据库信息:
define('DB_NAME', 'wp_site1');
define('DB_USER', 'user1');
define('DB_PASSWORD', '你的密码');
define('DB_HOST', 'localhost');
其他4个站点同理,分别进入各自目录执行。
方法2:使用 WP-CLI(推荐)
# 安装 WP-CLI
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
# 在每个目录中初始化
cd /var/www/site1.com
wp core download
wp config create --dbname=wp_site1 --dbuser=user1 --dbpass=你的密码 --dbhost=localhost
wp core install --url="site1.com" --title="Site 1" --admin_user=admin --admin_password=password --admin_email=admin@site1.com
重复以上命令,更换目录和参数即可。
✅ 六、配置 Nginx 虚拟主机(每个站点一个配置文件)
创建配置文件:
sudo nano /etc/nginx/sites-available/site1.com
内容示例:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
# 重复为 site2 到 site5 创建配置
测试并重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
✅ 七、配置域名解析
将每个域名(或子域名)的 A 记录指向你的服务器 IP 地址。
例如:
- site1.com → 你的服务器IP
- site2.com → 你的服务器IP
- …
✅ 八、申请 SSL 证书(Let’s Encrypt)
使用 Certbot 为每个站点添加 HTTPS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com
Certbot 会自动修改 Nginx 配置并启用 HTTPS。
对另外4个站点重复此命令。
✅ 九、管理建议
| 项目 | 建议 |
|---|---|
| 备份 | 使用插件(如 UpdraftPlus)或脚本定期备份数据库和文件 |
| 安全 | 每个站点独立登录,不共用管理员账号;定期更新核心、主题、插件 |
| 性能 | 可为每个站点启用缓存插件(如 WP Super Cache) |
| 监控 | 使用 UptimeRobot 或类似工具监控各站点状态 |
✅ 十、可选优化
- 使用
Docker容器化部署,实现更彻底的隔离。 - 使用
宝塔面板或cPanel图形化管理多个站点(适合新手)。 - 使用 CDN 提速静态资源。
总结
通过上述方法,你可以在一台服务器上安全、高效地运行5个独立的 WordPress 站点,每个站点拥有:
- 独立的文件目录
- 独立的数据库
- 独立的域名和 SSL 证书
- 独立的配置和管理后台
这样既节省成本,又便于集中维护。
如果你需要自动化部署脚本,我也可以为你生成一键部署脚本。需要吗?
云小栈