如何在阿里云ECS上部署两个不同的网站?

在阿里云ECS上部署两个不同的网站,可以通过以下几种常见方案实现:


方案一:单ECS多端口(适用于测试/简单场景)

  1. 安装Web服务器(以Nginx为例):

    sudo apt update && sudo apt install nginx  # Ubuntu/Debian
    sudo yum install nginx -y                 # CentOS
  2. 配置两个站点

    • 创建两个独立的配置文件(如 /etc/nginx/conf.d/site1.confsite2.conf):

      # site1.conf(监听80端口)
      server {
       listen 80;
       server_name www.site1.com;  # 或ECS公网IP
       root /var/www/site1;
       index index.html;
      }
      
      # site2.conf(监听8080端口)
      server {
       listen 8080;
       server_name www.site2.com;  # 或ECS公网IP:8080
       root /var/www/site2;
       index index.html;
      }
  3. 创建网站目录并放置文件

    sudo mkdir -p /var/www/{site1,site2}
    echo "Site1 Content" > /var/www/site1/index.html
    echo "Site2 Content" > /var/www/site2/index.html
  4. 重启Nginx

    sudo nginx -t && sudo systemctl restart nginx
  5. 安全组配置

    • 在阿里云ECS控制台的安全组中,放行 80和8080端口

方案二:单ECS单端口,通过域名区分(推荐生产环境)

  1. 准备两个域名(如 www.site1.comwww.site2.com),并解析到ECS的公网IP。

  2. 配置Nginx虚拟主机

    # site1.conf
    server {
       listen 80;
       server_name www.site1.com;
       root /var/www/site1;
       index index.html;
    }
    
    # site2.conf
    server {
       listen 80;
       server_name www.site2.com;
       root /var/www/site2;
       index index.html;
    }
  3. 重启Nginx后,通过不同域名访问即可。


方案三:使用Docker容器隔离

  1. 安装Docker

    curl -fsSL https://get.docker.com | bash
  2. 为每个网站创建独立容器

    # 运行两个Nginx容器,映射不同端口
    docker run -d --name site1 -p 80:80 -v /path/to/site1:/usr/share/nginx/html nginx
    docker run -d --name site2 -p 8080:80 -v /path/to/site2:/usr/share/nginx/html nginx

方案四:使用反向XX(适用于动态网站)

若网站为Python/Node.js/PHP等动态应用:

  1. 分别运行两个应用在不同端口(如3000、3001)。
  2. 用Nginx反向XX到不同域名:
    server {
       listen 80;
       server_name www.site1.com;
       location / {
           proxy_pass http://localhost:3000;
       }
    }

关键步骤总结

  1. 服务器配置:安装Web服务器(Nginx/Apache)。
  2. 目录隔离:为每个网站创建独立根目录。
  3. 配置分离:每个站点使用独立的配置文件。
  4. 域名与DNS:绑定域名并解析到ECS IP。
  5. 安全组:开放对应端口(80/443/自定义端口)。
  6. HTTPS支持:如需SSL,可申请免费证书(如Let’s Encrypt)并配置到Nginx。

注意事项

  • 资源隔离:若网站流量较大,建议使用不同ECS实例或容器隔离。
  • 备案:若域名指向中国大陆的ECS,需完成ICP备案。
  • 性能监控:通过阿里云云监控观察资源使用情况。

根据需求选择方案,推荐方案二(域名区分)用于生产环境,结构清晰且便于管理。

云服务器