一、企业背景(真实场景设定)

某中型电商公司在业务增长后,原有单机部署的网站频繁出现:

公司决定将系统迁移到 阿里云,构建一个高可用、可扩展、安全的云架构


二、实验目标

  1. 搭建云上网络环境(VPC)
  2. 部署Web服务器(ECS + Nginx + WordPress)
  3. 使用云数据库(RDS MySQL)
  4. 配置负载均衡(SLB)
  5. 实现高可用架构
  6. 验证系统访问与容灾能力

三、整体架构(理解重点)

用户访问
   ↓
负载均衡 SLB
   ↓
ECS(Web服务器)×2
   ↓
RDS(MySQL数据库)

关键思想:

核心原则:


三、实验环境准备(关键前置)

必须统一要求(避免翻车):

项目 配置
地域 同一地域(如华东1)
VPC 同一个
ECS系统 Ubuntu 20.04
安全组 开放 22 / 80
RDS MySQL

四、实验步骤(超详细版)


步骤1:创建VPC网络

操作:

  1. 创建VPC
    网段:192.168.0.0/16

  2. 创建交换机
    网段:192.168.1.0/24

解释(必须讲):


步骤2:创建ECS(2台)

配置:


步骤3:统一环境

登录两台ECS,必须每台都执行

1. 更新系统

sudo apt update

3. 安装 Nginx + PHP

sudo apt install nginx -y
sudo apt install php-fpm php-mysql -y

4. 启动服务

sudo systemctl enable nginx
sudo systemctl start nginx

验证:

访问 ECS公网IP
必须看到:

👉 Welcome to nginx 页面


步骤4:部署 WordPress(两台都要做)

cd /var/www/html

sudo rm -rf *

sudo wget https://wordpress.org/latest.tar.gz

sudo tar -xvf latest.tar.gz

sudo mv wordpress/* .

sudo chown -R www-data:www-data /var/www/html

步骤5:配置 Nginx 支持 PHP(核心步骤)

编辑:

sudo vim /etc/nginx/sites-available/default

替换为:

server {
    listen 80;
    root /var/www/html;
    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/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

重启:

sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm

步骤6:验证单机(必须做)

访问:

http://ECS公网IP

必须看到:

WordPress 安装界面

如果这一步不成功,禁止进入下一步


步骤7:创建RDS数据库

操作:

  1. 创建 MySQL 实例
  2. 网络选择 VPC
  3. 开启内网访问

创建数据库:


步骤8:配置 WordPress 连接数据库(两台都要做)

cd /var/www/html

cp wp-config-sample.php wp-config.php

vim wp-config.php

修改:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '密码');
define('DB_HOST', 'RDS内网地址');

步骤9:创建 SLB

操作:

  1. 创建负载均衡实例
  2. 添加两台 ECS
  3. 配置监听:
项目
协议 HTTP
端口 80

步骤10:最终访问(关键验证)

访问:

http://SLB公网IP

结果:

WordPress 安装界面


五、最终验证(必须做实验评分)


测试1:负载均衡

多刷新几次页面

页面稳定


测试2:高可用(核心)

停止一台 ECS:

sudo poweroff

再次访问 SLB:

网站仍然正常


测试3:一致性验证(进阶)

在 ECS1 修改:

echo "server1" > /var/www/html/test.html

在 ECS2 修改:

echo "server2" > /var/www/html/test.html

访问:

http://SLB_IP/test.html

现象:

内容随机变化

SLB是“分发”,不是“同步”