加油
努力

使用阿里云轻量服务器如何配置两个不同的网站?

在阿里云轻量应用服务器(Simple Application Server)上配置两个不同的网站,通常有以下几种主流方案。选择哪种方案取决于你的技术栈、是否使用域名以及你对服务器的管理能力。

以下是最常用且推荐的两种方法:


方法一:使用 Nginx 虚拟主机(Virtual Hosts)—— 推荐用于静态网站或 PHP/Node.js 后端

这是最标准、性能最好、资源占用最低的方式。通过一个 Nginx 实例监听不同域名或端口,指向不同的网站目录。

前提条件

  1. 服务器已安装 Nginx(阿里云镜像通常自带)。
  2. 你拥有两个域名(例如 a.comb.com),并已解析到服务器 IP。
  3. 两个网站的文件分别存放在不同目录,如 /var/www/site_a/var/www/site_b

配置步骤

  1. 创建网站目录

    sudo mkdir -p /var/www/site_a
    sudo mkdir -p /var/www/site_b
    # 将你的网站文件上传到对应目录
  2. 配置第一个网站(site_a)
    创建配置文件:

    sudo nano /etc/nginx/conf.d/site_a.conf

    内容示例:

    server {
       listen 80;
       server_name a.com www.a.com;  # 替换为你的域名
    
       root /var/www/site_a;
       index index.html index.htm;
    
       location / {
           try_files $uri $uri/ =404;
       }
    }
  3. 配置第二个网站(site_b)
    创建配置文件:

    sudo nano /etc/nginx/conf.d/site_b.conf

    内容示例:

    server {
       listen 80;
       server_name b.com www.b.com;  # 替换为你的域名
    
       root /var/www/site_b;
       index index.html index.htm;
    
       location / {
           try_files $uri $uri/ =404;
       }
    }
  4. 测试并重载 Nginx

    sudo nginx -t          # 检查配置是否有语法错误
    sudo systemctl reload nginx  # 重载配置生效
  5. 防火墙设置
    确保阿里云控制台的安全组规则中放行了 TCP 80TCP 443(如果启用 HTTPS)。


方法二:使用 Docker 容器隔离 —— 推荐用于复杂环境或需要多语言混合部署

如果你希望每个网站独立运行其依赖环境(如一个用 Python,一个用 Java),Docker 是最佳选择。

前提条件

  1. 服务器已安装 Docker 和 Docker Compose。
  2. 两个网站各自有独立的代码仓库或镜像。

配置步骤

  1. 为每个网站创建项目目录

    mkdir ~/site_a ~/site_b
  2. 编写 site_a 的 docker-compose.yml

    version: '3'
    services:
     web:
       image: nginx:alpine
       ports:
         - "8081:80"  # 映射到主机端口 8081
       volumes:
         - ./html:/usr/share/nginx/html

    注意:这里我们使用不同端口避免冲突。

  3. 编写 site_b 的 docker-compose.yml

    version: '3'
    services:
     web:
       image: nginx:alpine
       ports:
         - "8082:80"  # 映射到主机端口 8082
       volumes:
         - ./html:/usr/share/nginx/html
  4. 启动服务

    cd ~/site_a && docker-compose up -d
    cd ~/site_b && docker-compose up -d
  5. 反向X_X(可选但推荐)
    为了使用域名访问而非端口号,你需要在前端再搭一个 Nginx 做反向X_X,或者使用 Caddy 等自动管理 HTTPS 的工具。

    简单版 Caddyfile 示例:

    a.com {
       reverse_proxy localhost:8081
    }
    b.com {
       reverse_proxy localhost:8082
    }

方法三:使用宝塔面板(BT Panel)—— 最适合新手

如果你不熟悉命令行,阿里云提供了一键安装的“宝塔 Linux 面板”镜像,图形化操作最简单。

步骤

  1. 登录阿里云控制台 → 找到你的轻量应用服务器 → 点击“远程连接”或使用 SSH 登录。
  2. 安装宝塔面板(如果尚未安装):
    yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
  3. 进入面板:根据提示获取内网地址和账号密码,在浏览器中打开。
  4. 添加站点
    • 点击左侧“网站” → “添加站点”。
    • 输入第一个域名 a.com,根目录默认即可。
    • 再次点击“添加站点”,输入第二个域名 b.com
  5. 上传网站文件
    • 在“文件”管理中,进入对应域名的根目录,上传你的网站代码。
  6. 配置 SSL
    • 在宝塔面板中可为每个域名免费申请 Let’s Encrypt 证书。

⚠️ 注意:宝塔面板会占用 8888 端口,记得在阿里云安全组中放行该端口以便管理。


关键注意事项

项目 说明
域名备案 在中国大陆,所有绑定域名的网站必须完成 ICP 备案,否则 Nginx/Docker 即使配置成功也无法通过域名访问(会被拦截)。
安全组规则 必须在阿里云控制台 → 安全组中放行:
• TCP 80(HTTP)
• TCP 443(HTTPS)
• 如果是非标准端口(如 Docker 方案中的 8081),也需放行。
资源限制 轻量服务器内存较小(如 1GB/2GB),同时运行两个大型网站可能吃紧。建议监控 CPU 和内存使用情况。
HTTPS 强烈建议为两个网站都配置 HTTPS,提升安全性和 SEO 排名。Nginx 和宝塔均可轻松实现。

总结建议

  • 如果你是初学者 → 选择 方法三:宝塔面板,可视化操作,出错率低。
  • 如果你有一定 Linux 基础,追求性能和简洁 → 选择 方法一:Nginx 虚拟主机
  • 如果你的网站技术栈复杂(如前后端分离、微服务) → 选择 方法二:Docker

你可以根据自身情况选择最适合的方案。如需进一步帮助(如具体报错排查),欢迎提供更多信息!

云服务器