在同一台服务器上搭建多个 WordPress 网站是一个常见需求,比如用于托管多个客户的网站、开发/测试/生产环境,或者个人管理多个博客。下面是详细的步骤和方法:
🧩 一、准备工作
确保你已经准备好以下内容:
- 一台服务器(VPS 或云主机,如阿里云、腾讯云、AWS 等)
- 安装了 Web 服务器软件(如 Nginx 或 Apache)
- 数据库服务(如 MySQL / MariaDB)
- PHP 环境(WordPress 所需)
- 多个域名或子域名(可选)
🛠 二、搭建多个 WordPress 的几种方式
✅ 方法一:使用不同的虚拟主机配置(推荐)
这是最常见的方式,适用于大多数场景。
步骤如下:
-
安装 LAMP / LEMP 环境
- Linux + Apache/Nginx + MySQL + PHP
- 比如:Ubuntu + Nginx + MySQL + PHP
-
为每个网站创建独立数据库
mysql -u root -p CREATE DATABASE wp_site1; CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON wp_site1.* TO 'wp_user1'@'localhost'; FLUSH PRIVILEGES; exit; -
下载 WordPress 到不同目录
- 比如:
/var/www/site1/var/www/site2
下载命令示例:
cd /var/www wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz mv wordpress site1 cp -r site1 site2 - 比如:
-
设置权限
chown -R www-data:www-data /var/www/site1 chmod -R 755 /var/www/site1 -
配置虚拟主机(以 Nginx 为例)
编辑站点配置文件:
sudo nano /etc/nginx/sites-available/site1.conf内容如下:
server { listen 80; server_name site1.com www.site1.com; root /var/www/site1; 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; } }同理配置
site2.conf,并启用站点:sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx -
访问网站进行安装
- 浏览器打开
http://site1.com/wp-admin/install.php - 填写数据库信息(对应之前创建的数据库和用户)
- 完成 WordPress 安装
- 浏览器打开
✅ 方法二:使用 WordPress 多站点网络(Multisite)
如果你希望用一个 WordPress 安装实例来管理多个子网站(如 blog.example.com、site1.example.com),可以使用 Multisite 功能。
步骤如下:
-
修改
wp-config.php添加:define('WP_ALLOW_MULTISITE', true); -
登录后台 → 工具 → 配置网络
- 选择“子域名”或“子目录”
- 按提示修改
wp-config.php和.htaccess文件
-
配置 DNS(如果是子域名)
- 设置泛域名解析
*.example.com指向服务器 IP
- 设置泛域名解析
-
完成后即可在网络管理员中添加新站点
⚠️ 注意:这种方式适合统一管理多个站点,但所有网站共享插件、主题和部分设置。
✅ 方法三:使用 Docker(高级)
你可以使用 Docker Compose 创建多个 WordPress 容器,每个容器运行一个独立网站。
# docker-compose.yml 示例
version: '3'
services:
site1:
image: wordpress
ports:
- "8001:80"
environment:
WORDPRESS_DB_NAME: wp_site1
WORDPRESS_DB_USER: user1
WORDPRESS_DB_PASSWORD: pass1
volumes:
- ./site1:/var/www/html
site2:
image: wordpress
ports:
- "8002:80"
environment:
WORDPRESS_DB_NAME: wp_site2
WORDPRESS_DB_USER: user2
WORDPRESS_DB_PASSWORD: pass2
volumes:
- ./site2:/var/www/html
启动服务:
docker-compose up -d
📝 三、总结对比
| 方法 | 是否独立 | 管理难度 | 推荐场景 |
|---|---|---|---|
| 虚拟主机配置 | 完全独立 | 中等 | 多客户、多域名网站 |
| WordPress Multisite | 共享资源 | 中高 | 统一品牌下的多个子站点 |
| Docker | 完全独立 | 高 | 开发、测试、部署自动化 |
✅ 四、注意事项
- 每个网站应使用独立数据库和用户名
- 确保服务器资源(CPU、内存、磁盘)足够支撑多个站点
- 使用 Let’s Encrypt 可以为每个站点配置 HTTPS
- 定期备份各网站数据
如果你告诉我你的服务器系统(如 Ubuntu)、Web 服务器类型(Nginx/Apache)、是否已有环境,我可以提供更具体的命令帮助你搭建。需要吗?
CLOUD技术博