阿里云服务器部署多个wordpress?

在阿里云服务器上部署多个 WordPress 网站是完全可行的,常见的实现方式有以下几种。下面以 ECS(云服务器) 为例,介绍如何部署多个 WordPress 实例。


✅ 一、准备工作

  1. 购买阿里云 ECS 实例

    • 推荐系统:CentOS 7+/Ubuntu 20.04+
    • 配置建议:2核4G以上(根据网站数量和流量调整)
    • 安全组:开放 80(HTTP)、443(HTTPS)、22(SSH)端口
  2. 域名准备

    • 每个 WordPress 网站建议使用独立域名或子域名,如:
      • site1.com
      • site2.com
      • blog.yoursite.com
  3. 绑定域名并解析到 ECS 公网 IP


✅ 二、部署方式选择

方式一:单服务器 + Nginx 虚拟主机(推荐)

适用于:多个 WordPress 站点共享一台服务器,通过不同域名访问。

步骤:
  1. 安装 LAMP 或 LEMP 环境
    • 推荐 LEMP(Nginx + MySQL + PHP + phpMyAdmin)
# Ubuntu 示例
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
  1. 创建多个网站目录
sudo mkdir -p /var/www/site1.com
sudo mkdir -p /var/www/site2.com
  1. 下载 WordPress 到每个目录
cd /var/www/site1.com
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -xzf latest-zh_CN.tar.gz --strip-components=1
chown -R www-data:www-data /var/www/site1.com

site2.com 重复类似操作。

  1. 配置 MySQL 数据库(每个站点独立数据库)
CREATE DATABASE wp_site1;
CREATE DATABASE wp_site2;
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'strongpassword';
CREATE USER 'user2'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user1'@'localhost';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user2'@'localhost';
FLUSH PRIVILEGES;
  1. 配置 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;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

复制并修改为 site2.com 的配置。

启用站点:

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 nginx -t && sudo systemctl reload nginx
  1. 访问域名完成 WordPress 安装

    • 浏览器访问 http://site1.com,按向导填写数据库信息(使用各自的数据库和用户)
  2. (可选)配置 HTTPS(使用 Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com

对每个站点重复。


方式二:使用 Docker 部署多个 WordPress

适合:希望环境隔离、便于管理。

示例:使用 docker-compose.yml
version: '3.8'
services:
  db1:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wordpress1
      MYSQL_USER: wp1
      MYSQL_PASSWORD: wp1pass
    volumes:
      - db1_data:/var/lib/mysql
    networks:
      - wordpress_net

  wordpress1:
    image: wordpress:latest
    depends_on:
      - db1
    environment:
      WORDPRESS_DB_HOST: db1:3306
      WORDPRESS_DB_USER: wp1
      WORDPRESS_DB_PASSWORD: wp1pass
      WORDPRESS_DB_NAME: wordpress1
    volumes:
      - wp1_data:/var/www/html
    ports:
      - "8080:80"
    networks:
      - wordpress_net

  db2:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wordpress2
      MYSQL_USER: wp2
      MYSQL_PASSWORD: wp2pass
    volumes:
      - db2_data:/var/lib/mysql
    networks:
      - wordpress_net

  wordpress2:
    image: wordpress:latest
    depends_on:
      - db2
    environment:
      WORDPRESS_DB_HOST: db2:3306
      WORDPRESS_DB_USER: wp2
      WORDPRESS_DB_PASSWORD: wp2pass
      WORDPRESS_DB_NAME: wordpress2
    volumes:
      - wp2_data:/var/www/html
    ports:
      - "8081:80"
    networks:
      - wordpress_net

networks:
  wordpress_net:

volumes:
  db1_data:
  db2_data:
  wp1_data:
  wp2_data:

启动:

docker-compose up -d

访问:

  • http://your-ip:8080 → WordPress 1
  • http://your-ip:8081 → WordPress 2

⚠️ 注意:若用域名,建议配合 Nginx 做反向 + 域名分流。


✅ 三、管理建议

项目 建议
数据库 每个站点独立数据库,避免冲突
备份 定期备份数据库和文件(可使用阿里云快照 + mysqldump)
安全 隐藏 wp-admin、使用安全插件、限制登录尝试
性能 使用缓存插件(如 WP Super Cache)、CDN

✅ 四、常见问题

  1. 端口冲突?
    • 使用 Nginx 虚拟主机可共享 80/443 端口,无需开放多个端口。
  2. 资源不足?
    • 监控 CPU、内存使用,必要时升级 ECS 配置或拆分到多台服务器。
  3. 如何迁移?
    • 使用 All-in-One WP Migration 等插件导出导入。

✅ 总结

方式 优点 缺点
Nginx 虚拟主机 资源利用率高,配置简单 环境耦合,一个出问题可能影响整体
Docker 部署 环境隔离,易于扩展 学习成本略高,资源占用稍多

👉 推荐新手使用 Nginx 虚拟主机,进阶用户可用 Docker。


如果你提供具体系统(CentOS/Ubuntu)、是否已有环境、域名情况,我可以给出更详细的配置脚本。

未经允许不得转载:CLOUD技术博 » 阿里云服务器部署多个wordpress?