一个云服务器里部署两个wordpress网站?

在一个云服务器(例如阿里云、腾讯云、AWS、VPS等)上部署两个 WordPress 网站是完全可行的。常见的做法是使用 虚拟主机配置 来实现,比如在 Nginx 或 Apache 中配置多个站点。下面以 Nginx + Ubuntu + PHP + MySQL 为例,说明如何在同一台云服务器上部署两个 WordPress 网站。


✅ 前提条件

  • 已经有一台云服务器(如 Ubuntu)
  • 安装了 Web 服务器(如 Nginx)
  • 安装了 PHP 和 MySQL
  • 每个网站有独立的域名或子域名(如:site1.comsite2.com

📌 步骤概览

  1. 准备两个域名(或子域名),并解析到服务器IP
  2. 创建两个不同的网站目录
  3. 配置两个数据库
  4. 分别安装 WordPress 到两个目录
  5. 配置 Nginx 虚拟主机(server blocks)
  6. 设置权限和重启服务

🔧 具体操作步骤

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 » 一个云服务器里部署两个wordpress网站?