在一个云服务器(例如阿里云、腾讯云、AWS、VPS等)上部署两个 WordPress 网站是完全可行的。常见的做法是使用 虚拟主机配置 来实现,比如在 Nginx 或 Apache 中配置多个站点。下面以 Nginx + Ubuntu + PHP + MySQL 为例,说明如何在同一台云服务器上部署两个 WordPress 网站。
✅ 前提条件
- 已经有一台云服务器(如 Ubuntu)
- 安装了 Web 服务器(如 Nginx)
- 安装了 PHP 和 MySQL
- 每个网站有独立的域名或子域名(如:
site1.com和site2.com)
📌 步骤概览
- 准备两个域名(或子域名),并解析到服务器IP
- 创建两个不同的网站目录
- 配置两个数据库
- 分别安装 WordPress 到两个目录
- 配置 Nginx 虚拟主机(server blocks)
- 设置权限和重启服务
🔧 具体操作步骤
1. 创建网站目录
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
2. 下载 WordPress 并解压到对应目录
cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
# site1.com
cp -r /tmp/wordpress/* /var/www/site1.com/public_html/
# site2.com
cp -r /tmp/wordpress/* /var/www/site2.com/public_html/
为每个网站创建独立的 wp-config.php 文件(可复制 wp-config-sample.php 并修改数据库连接信息)。
3. 创建两个独立的数据库和用户(MySQL)
-- 登录 MySQL
mysql -u root -p
-- 创建数据库
CREATE DATABASE wp_site1;
CREATE DATABASE wp_site2;
-- 创建用户并授权
CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'your_password';
CREATE USER 'user_site2'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user_site1'@'localhost';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user_site2'@'localhost';
FLUSH PRIVILEGES;
exit;
4. 修改 wp-config.php 文件
进入各自目录,编辑 wp-config.php:
/var/www/site1.com/public_html/wp-config.php
define('DB_NAME', 'wp_site1');
define('DB_USER', 'user_site1');
define('DB_PASSWORD', 'your_password');
/var/www/site2.com/public_html/wp-config.php
define('DB_NAME', 'wp_site2');
define('DB_USER', 'user_site2');
define('DB_PASSWORD', 'your_password');
5. 配置 Nginx 虚拟主机
创建两个配置文件:
/etc/nginx/sites-available/site1.com
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/public_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;
}
}
/etc/nginx/sites-available/site2.com
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/public_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;
}
}
然后启用这些配置:
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
检查配置并重启 Nginx:
sudo nginx -t
sudo systemctl restart nginx
6. 设置权限(可选)
确保 WordPress 可写上传目录等:
sudo chown -R www-data:www-data /var/www/site1.com/public_html
sudo chown -R www-data:www-data /var/www/site2.com/public_html
sudo chmod -R 755 /var/www
✅ 最后访问测试
浏览器分别打开:
- http://site1.com
- http://site2.com
进行 WordPress 初始化设置即可。
💡 小贴士
- 如果没有两个域名,也可以用 不同端口 或 子路径 来区分,但推荐使用多域名。
- 使用 Let’s Encrypt 可以为两个站点分别配置 HTTPS。
- 可以通过 Docker 更方便地隔离多个 WordPress 实例。
如果你告诉我你使用的具体环境(操作系统、Web服务器、是否已有WordPress等),我可以提供更具体的命令示例。需要的话可以继续问我 😊
云计算HECS