是的,你完全可以在一台云服务器上搭建多个 WordPress 网站。这在实际应用中非常常见,尤其对于个人开发者、中小企业或站长来说,可以节省成本并集中管理。
以下是实现方式和步骤详解:
✅ 一、实现方式
-
基于虚拟主机(Virtual Host)配置
- 使用 Apache 或 Nginx 的虚拟主机功能,为每个网站分配独立的域名和目录。
- 所有网站共享同一台服务器资源(CPU、内存、数据库等),但彼此隔离。
-
使用子目录或子域名
- 可以通过不同的域名(如
site1.com、site2.com)或子域名(blog1.yoursite.com、blog2.yoursite.com)来区分多个站点。
- 可以通过不同的域名(如
-
WordPress 多站点网络(Multisite)
- 如果多个网站内容相关(比如企业旗下多个分站),可考虑启用 WordPress 的多站点功能。
- 但注意:多站点共享用户系统和后台管理,适合统一管理的场景。
⚠️ 注意:这里主要介绍「单个服务器部署多个独立 WordPress 站点」的方式(非 Multisite)。
✅ 二、准备工作
- 一台云服务器(如阿里云、腾讯云、AWS、华为云等)
- 操作系统:推荐 Ubuntu 20.04/22.04 或 CentOS 7/8
- 域名若干(每个网站一个域名或子域名)
- LAMP 或 LEMP 环境:
- Linux + Apache/Nginx + MySQL/MariaDB + PHP
✅ 三、操作步骤(以 Nginx + Ubuntu 为例)
步骤 1:安装基础环境
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Nginx、MySQL、PHP
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
启动并设置开机自启:
sudo systemctl enable nginx mysql php7.4-fpm
sudo systemctl start nginx mysql php7.4-fpm
注:PHP 版本根据你的需求选择(如 php8.1)
步骤 2:为每个网站创建独立目录
sudo mkdir -p /var/www/site1.com /var/www/site2.com
下载 WordPress 到对应目录:
cd /var/www/site1.com
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz --strip-components=1
sudo chown -R www-data:www-data /var/www/site1.com
对 site2.com 同样操作。
步骤 3:为每个网站创建独立数据库
登录 MySQL:
sudo mysql -u root
创建数据库和用户:
CREATE DATABASE wp_site1;
CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user_site1'@'localhost';
FLUSH PRIVILEGES;
-- 同样为 site2 创建
CREATE DATABASE wp_site2;
CREATE USER 'user_site2'@'localhost' IDENTIFIED BY 'another_password';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user_site2'@'localhost';
FLUSH PRIVILEGES;
EXIT;
步骤 4:配置 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/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
保存后,启用站点:
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
同样为 site2.com 创建配置文件并启用。
步骤 5:测试配置并重启 Nginx
sudo nginx -t # 检查语法
sudo systemctl reload nginx
步骤 6:域名解析与访问安装
- 将
site1.com和site2.com的 A 记录指向你的云服务器公网 IP。 - 浏览器访问
http://site1.com,进入 WordPress 安装向导。 - 根据提示填写数据库信息(使用各自独立的数据库)完成安装。
✅ 四、优化与安全建议
-
HTTPS 加密(强烈推荐)
- 使用 Let’s Encrypt 免费证书:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d site1.com -d www.site1.com - 对每个站点分别申请证书。
- 使用 Let’s Encrypt 免费证书:
-
定期备份
- 备份数据库和网站文件(可用脚本或工具如 WPvivid、UpdraftPlus)。
-
防火墙设置
sudo ufw allow 'Nginx Full' sudo ufw enable -
PHP 安全配置
- 修改
php.ini禁用危险函数,限制上传大小等。
- 修改
-
独立 wp-config.php
- 每个站点使用不同的数据库凭证,避免交叉污染。
✅ 五、常见问题
| 问题 | 解决方案 |
|---|---|
| 多站点无法访问 | 检查 Nginx 配置是否启用、域名解析是否正确 |
| 图片上传失败 | 检查 PHP 上传限制和目录权限(chown -R www-data:www-data) |
| 伪静态失效 | 确保 Nginx 中配置了 try_files 规则 |
| 数据库连接错误 | 检查用户名、密码、数据库名是否匹配 |
✅ 总结
✅ 一台云服务器完全可以运行多个独立的 WordPress 网站,只需:
- 配置好 Web 服务器(Nginx/Apache)虚拟主机
- 为每个网站分配独立目录和数据库
- 域名正确解析
- 安全与性能优化到位
这样既能节省成本,又能灵活管理多个项目。
如果你需要更高级的自动化部署,也可以考虑使用宝塔面板、aaPanel、或 Docker 容器化部署(每个 WordPress 一个容器)。
需要我提供一键部署脚本或 Docker 方案吗?欢迎继续提问!
云知道CLOUD