在一个服务器上搭建多个 WordPress 网站是完全可行的,常见于 VPS(如阿里云、腾讯云、AWS、DigitalOcean 等)或本地服务器。以下是详细步骤和最佳实践:
一、准备工作
-
服务器环境
- 推荐使用 Linux(如 Ubuntu 20.04/22.04、CentOS 7/8)
- 安装 LAMP(Linux + Apache + MySQL + PHP)或 LEMP(Nginx 替代 Apache)
-
域名(可选但推荐)
- 每个 WordPress 站点可以绑定一个独立域名或子域名
- 例如:
site1.com、site2.com或blog1.yoursite.com
-
数据库
- 每个 WordPress 站点应使用独立的数据库(或独立的表前缀)
二、安装基础环境(以 Ubuntu + LEMP 为例)
# 更新系统
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
三、为每个 WordPress 站点创建独立目录
# 创建网站根目录
sudo mkdir -p /var/www/site1.com
sudo mkdir -p /var/www/site2.com
# 设置权限
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
四、下载并配置 WordPress
1. 下载 WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
2. 复制到每个站点目录
sudo cp -r /tmp/wordpress/* /var/www/site1.com/
sudo cp -r /tmp/wordpress/* /var/www/site2.com/
五、为每个站点创建独立数据库
sudo mysql -u root -p
在 MySQL 中执行:
-- 为 site1 创建数据库和用户
CREATE DATABASE wp_site1;
CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'strong_password1';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user_site1'@'localhost';
FLUSH PRIVILEGES;
-- 为 site2 创建数据库和用户
CREATE DATABASE wp_site2;
CREATE USER 'user_site2'@'localhost' IDENTIFIED BY 'strong_password2';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user_site2'@'localhost';
FLUSH PRIVILEGES;
EXIT;
六、配置 Nginx 虚拟主机(每个站点一个配置文件)
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;
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:/var/run/php/php8.1-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
2. 为 site2.com 创建配置
sudo nano /etc/nginx/sites-available/site2.com
内容类似,仅修改 server_name 和 root 路径。
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 nginx -t
# 重启 Nginx
sudo systemctl reload nginx
七、完成 WordPress 安装
-
在浏览器中访问:
http://site1.comhttp://site2.com
-
按照向导填写数据库信息:
- 数据库名:
wp_site1、wp_site2 - 用户名:
user_site1、user_site2 - 密码:对应设置的密码
- 数据库主机:
localhost - 表前缀:可自定义如
wp1_、wp2_(推荐)
- 数据库名:
-
完成安装,设置站点标题、管理员账号等。
八、(可选)使用子域名或子目录
- 子域名:如
blog1.yoursite.com,只需在 DNS 添加 CNAME 或 A 记录,并配置对应的 Nginx server block。 - 子目录:如
yoursite.com/blog1,可在主站点的 Nginx 配置中添加location /blog1并指向独立目录。
九、安全建议
- 每个站点使用独立数据库和用户,避免权限泄露。
- 定期更新 WordPress 核心、主题和插件。
- 启用 HTTPS(使用 Let’s Encrypt 免费证书):
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d site1.com -d www.site1.com - 限制文件权限:
find /var/www/site1.com -type f -exec chmod 644 {} ; find /var/www/site1.com -type d -exec chmod 755 {} ;
十、管理多个站点的工具(可选)
- 使用 Wordfence、iThemes Security 等插件加强安全。
- 使用 ManageWP、MainWP、InfiniteWP 等工具集中管理多个 WordPress 站点。
总结
✅ 一个服务器可以轻松运行多个 WordPress 站点,关键在于:
- 独立目录
- 独立数据库
- 独立 Nginx/Apache 虚拟主机配置
- 正确的权限和安全设置
只要合理规划,一台 2GB 内存以上的 VPS 可以稳定运行 5~10 个中小型 WordPress 站点。
如需进一步自动化,可考虑使用 Docker 或 宝塔面板 简化部署。需要这些方案也可以告诉我。
云计算HECS