在一台云服务器上搭建多个 WordPress 网站是完全可行的,通常通过 虚拟主机(Virtual Hosts) 或 反向X_X(Reverse Proxy) 的方式实现。以下是详细的步骤,适用于基于 Linux(如 Ubuntu/CentOS)的云服务器。
🧰 准备工作
-
购买并登录云服务器
- 选择主流云服务商(如阿里云、腾讯云、AWS、DigitalOcean 等)
- 操作系统推荐:Ubuntu 20.04/22.04 或 CentOS 7/8
-
域名准备
- 至少两个域名或子域名,例如:
site1.comsite2.com- 或使用子域名:
blog1.yoursite.com,blog2.yoursite.com
- 至少两个域名或子域名,例如:
-
解析域名到服务器 IP
- 在域名管理后台添加 A 记录,指向你的云服务器公网 IP
✅ 步骤一:安装 LAMP 或 LEMP 环境
你可以选择 Apache 或 Nginx。这里以 Nginx + PHP-FPM + MySQL(LEMP) 为例(更高效):
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Nginx
sudo apt install nginx -y
# 安装 MySQL
sudo apt install mysql-server -y
# 安装 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
✅ 步骤二:为每个网站创建独立目录和数据库
1. 创建网站目录
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
# 设置权限
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
sudo chmod -R 755 /var/www
2. 为每个网站创建独立数据库
登录 MySQL:
sudo mysql -u root -p
执行 SQL 命令:
-- 为 site1 创建数据库和用户
CREATE DATABASE wp_site1;
CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'StrongPassword1!';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'wp_user1'@'localhost';
FLUSH PRIVILEGES;
-- 为 site2 创建数据库和用户
CREATE DATABASE wp_site2;
CREATE USER 'wp_user2'@'localhost' IDENTIFIED BY 'StrongPassword2!';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'wp_user2'@'localhost';
FLUSH PRIVILEGES;
EXIT;
✅ 步骤三:配置 Nginx 虚拟主机(Server Blocks)
1. 为 site1.com 创建配置文件
sudo nano /etc/nginx/sites-available/site1.com
内容如下:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/html;
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/php-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
2. 为 site2.com 创建配置文件
sudo nano /etc/nginx/sites-available/site2.com
内容类似,仅修改 server_name 和 root:
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/html;
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/php-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
3. 启用站点(创建软链接)
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
⚠️ 删除默认站点(可选):
sudo rm /etc/nginx/sites-enabled/default
4. 测试并重载 Nginx
sudo nginx -t
sudo systemctl reload nginx
✅ 步骤四:下载并安装 WordPress
下载 WordPress 到每个网站目录
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
安装 site1.com
sudo cp -r /tmp/wordpress/* /var/www/site1.com/html/
sudo chown -R www-data:www-data /var/www/site1.com/html
安装 site2.com
sudo cp -r /tmp/wordpress/* /var/www/site2.com/html/
sudo chown -R www-data:www-data /var/www/site2.com/html
✅ 步骤五:完成 WordPress 安装
访问浏览器:
- 打开
http://site1.com→ 进入 WordPress 安装向导 - 数据库信息填写:
- 数据库名:
wp_site1 - 用户名:
wp_user1 - 密码:
StrongPassword1! - 数据库主机:
localhost - 表前缀:建议改为
wp1_(避免混淆)
- 数据库名:
同理安装 site2.com,使用对应的数据库和前缀(如 wp2_)。
✅ (可选)配置 HTTPS(推荐使用 Let’s Encrypt)
安装 Certbot:
sudo apt install certbot python3-certbot-nginx -y
为每个站点申请 SSL 证书:
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com
Certbot 会自动修改 Nginx 配置并启用 HTTPS。
✅ 管理建议
| 功能 | 推荐做法 |
|---|---|
| 备份 | 使用 mysqldump + 文件压缩定期备份 |
| 安全 | 修改 wp-config.php 权限为 600,禁用文件编辑 |
| 性能 | 安装缓存插件(如 WP Super Cache)或 Redis 缓存 |
| 更新 | 分别更新各站点的 WordPress 核心、主题和插件 |
✅ 总结
✅ 你已经成功在一台云服务器上运行了多个独立的 WordPress 网站!
核心要点:
- 使用 Nginx 虚拟主机 实现多站点
- 每个网站有 独立目录 + 独立数据库
- 域名通过 DNS 解析到服务器 IP
- 推荐开启 HTTPS 提高安全性
如有需要,也可以使用 Docker 来更方便地管理多个 WordPress 实例(适合进阶用户)。欢迎继续提问!
云小栈