在一个云服务器(例如阿里云、腾讯云、AWS、VPS 等)上部署 两个 WordPress 网站是完全可行的,常见做法有以下几种方式:
✅ 方法一:使用虚拟主机配置(推荐)
适用场景:
- 同一个服务器上运行多个网站
- 每个网站绑定不同的域名
实现步骤(以 Nginx 或 Apache 为例):
1. 安装 LNMP 环境(Linux + Nginx/Apache + MySQL + PHP)
如果你还没有安装环境,可以使用宝塔面板或手动安装。
推荐工具:
- 宝塔面板(图形界面,操作简单)
- 手动配置(适合高级用户)
2. 创建两个 WordPress 站点目录
mkdir -p /var/www/wordpress1
mkdir -p /var/www/wordpress2
然后分别下载 WordPress 到这两个目录:
cd /var/www/wordpress1
wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
mv wordpress/* .
cd /var/www/wordpress2
wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
mv wordpress/* .
3. 配置数据库(MySQL/MariaDB)
创建两个独立的数据库和用户:
CREATE DATABASE wp_site1;
CREATE DATABASE wp_site2;
CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'your_password1';
CREATE USER 'wp_user2'@'localhost' IDENTIFIED BY 'your_password2';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'wp_user1'@'localhost';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'wp_user2'@'localhost';
FLUSH PRIVILEGES;
4. 配置 WordPress 的 wp-config.php
每个站点进入其目录并编辑 wp-config.php 文件:
nano /var/www/wordpress1/wp-config.php
nano /var/www/wordpress2/wp-config.php
修改对应的数据库名、用户名和密码。
5. 配置 Web 服务器(Nginx 示例)
创建两个虚拟主机配置文件:
/etc/nginx/sites-available/site1.conf
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/wordpress1;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
/etc/nginx/sites-available/site2.conf
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/wordpress2;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
然后启用这些配置并重启 Nginx:
ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/
systemctl restart nginx
✅ 方法二:使用子目录(Subdirectory)部署
如果你只想用一个 WordPress 安装来管理多个网站,也可以使用 WordPress 多站点模式(Multisite),但这种方式不如独立部署灵活,适用于内部统一管理的场景。
✅ 方法三:使用 Docker 部署多个 WordPress 容器
Docker 可以让你轻松地在同一台服务器上运行多个隔离的 WordPress 实例。每个实例拥有自己的数据库、PHP 配置等。
示例命令(使用 docker-compose):
version: '3'
services:
wordpress1:
image: wordpress
ports:
- "8080:80"
environment:
WORDPRESS_DB_NAME: wp_site1
WORDPRESS_DB_USER: wp_user1
WORDPRESS_DB_PASSWORD: your_password1
volumes:
- ./wordpress1:/var/www/html
db1:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wp_site1
MYSQL_USER: wp_user1
MYSQL_PASSWORD: your_password1
volumes:
- ./mysql1:/var/lib/mysql
wordpress2:
image: wordpress
ports:
- "8081:80"
environment:
WORDPRESS_DB_NAME: wp_site2
WORDPRESS_DB_USER: wp_user2
WORDPRESS_DB_PASSWORD: your_password2
volumes:
- ./wordpress2:/var/www/html
db2:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wp_site2
MYSQL_USER: wp_user2
MYSQL_PASSWORD: your_password2
volumes:
- ./mysql2:/var/lib/mysql
然后运行:
docker-compose up -d
🔐 注意事项:
- 防火墙设置:确保开放了 HTTP/HTTPS 端口(80/443)。
- 域名解析:两个域名都指向你的服务器 IP。
- 资源分配:如果服务器性能较弱,注意监控 CPU 和内存。
- 备份策略:两个网站应分别做好备份。
🧩 总结
| 方法 | 是否推荐 | 特点 |
|---|---|---|
| 虚拟主机配置(Nginx/Apache) | ✅ 推荐 | 灵活、性能好,适合生产环境 |
| 子目录多站点(WordPress Multisite) | ⚠️ 视需求而定 | 管理方便,但插件冲突风险高 |
| Docker 容器化部署 | ✅ 推荐 | 高度隔离,适合开发者 |
如需具体某一种方法的详细教程(比如用宝塔、Ubuntu+Nginx+PHP+MySQL 部署),可以告诉我,我可以继续帮你写完整教程!
云计算导航