云服务器建多个WordPress网站?

是的,你完全可以在一台云服务器上搭建多个 WordPress 网站。这在实际应用中非常常见,尤其对于个人开发者、中小企业或站长来说,可以节省成本并集中管理。

以下是实现方式和步骤详解:


✅ 一、实现方式

  1. 基于虚拟主机(Virtual Host)配置

    • 使用 Apache 或 Nginx 的虚拟主机功能,为每个网站分配独立的域名和目录。
    • 所有网站共享同一台服务器资源(CPU、内存、数据库等),但彼此隔离。
  2. 使用子目录或子域名

    • 可以通过不同的域名(如 site1.comsite2.com)或子域名(blog1.yoursite.comblog2.yoursite.com)来区分多个站点。
  3. WordPress 多站点网络(Multisite)

    • 如果多个网站内容相关(比如企业旗下多个分站),可考虑启用 WordPress 的多站点功能。
    • 但注意:多站点共享用户系统和后台管理,适合统一管理的场景。

⚠️ 注意:这里主要介绍「单个服务器部署多个独立 WordPress 站点」的方式(非 Multisite)。


✅ 二、准备工作

  • 一台云服务器(如阿里云、腾讯云、AWS、华为云等)
  • 操作系统:推荐 Ubuntu 20.04/22.04 或 CentOS 7/8
  • 域名若干(每个网站一个域名或子域名)
  • LAMP 或 LEMP 环境:
    • Linux + Apache/Nginx + MySQL/MariaDB + PHP

✅ 三、操作步骤(以 Nginx + Ubuntu 为例)

步骤 1:安装基础环境

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Nginx、MySQL、PHP
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

启动并设置开机自启:

sudo systemctl enable nginx mysql php7.4-fpm
sudo systemctl start nginx mysql php7.4-fpm

注:PHP 版本根据你的需求选择(如 php8.1)


步骤 2:为每个网站创建独立目录

sudo mkdir -p /var/www/site1.com /var/www/site2.com

下载 WordPress 到对应目录:

cd /var/www/site1.com
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz --strip-components=1
sudo chown -R www-data:www-data /var/www/site1.com

对 site2.com 同样操作。


步骤 3:为每个网站创建独立数据库

登录 MySQL:

sudo mysql -u root

创建数据库和用户:

CREATE DATABASE wp_site1;
CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user_site1'@'localhost';
FLUSH PRIVILEGES;

-- 同样为 site2 创建
CREATE DATABASE wp_site2;
CREATE USER 'user_site2'@'localhost' IDENTIFIED BY 'another_password';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user_site2'@'localhost';
FLUSH PRIVILEGES;

EXIT;

步骤 4:配置 Nginx 虚拟主机

创建站点配置文件:

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:/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

保存后,启用站点:

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/

同样为 site2.com 创建配置文件并启用。


步骤 5:测试配置并重启 Nginx

sudo nginx -t           # 检查语法
sudo systemctl reload nginx

步骤 6:域名解析与访问安装

  • site1.comsite2.com 的 A 记录指向你的云服务器公网 IP。
  • 浏览器访问 http://site1.com,进入 WordPress 安装向导。
  • 根据提示填写数据库信息(使用各自独立的数据库)完成安装。

✅ 四、优化与安全建议

  1. HTTPS 加密(强烈推荐)

    • 使用 Let’s Encrypt 免费证书:
      sudo apt install certbot python3-certbot-nginx -y
      sudo certbot --nginx -d site1.com -d www.site1.com
    • 对每个站点分别申请证书。
  2. 定期备份

    • 备份数据库和网站文件(可用脚本或工具如 WPvivid、UpdraftPlus)。
  3. 防火墙设置

    sudo ufw allow 'Nginx Full'
    sudo ufw enable
  4. PHP 安全配置

    • 修改 php.ini 禁用危险函数,限制上传大小等。
  5. 独立 wp-config.php

    • 每个站点使用不同的数据库凭证,避免交叉污染。

✅ 五、常见问题

问题 解决方案
多站点无法访问 检查 Nginx 配置是否启用、域名解析是否正确
图片上传失败 检查 PHP 上传限制和目录权限(chown -R www-data:www-data
伪静态失效 确保 Nginx 中配置了 try_files 规则
数据库连接错误 检查用户名、密码、数据库名是否匹配

✅ 总结

✅ 一台云服务器完全可以运行多个独立的 WordPress 网站,只需:

  • 配置好 Web 服务器(Nginx/Apache)虚拟主机
  • 为每个网站分配独立目录和数据库
  • 域名正确解析
  • 安全与性能优化到位

这样既能节省成本,又能灵活管理多个项目。

如果你需要更高级的自动化部署,也可以考虑使用宝塔面板、aaPanel、或 Docker 容器化部署(每个 WordPress 一个容器)。

需要我提供一键部署脚本或 Docker 方案吗?欢迎继续提问!

未经允许不得转载:云知道CLOUD » 云服务器建多个WordPress网站?