奋斗
努力

在阿里云Windows服务器上如何搭建ASP.NET网站?

云计算

在阿里云 Windows 服务器上搭建 ASP.NET 网站,通常有两种主要场景:

  1. 传统 ASP.NET (Framework):使用 IIS + .NET Framework(如 4.x)。
  2. 现代 ASP.NET Core:使用 Kestrel/IIS 托管 + .NET Core/.NET 5+。

下面我将分别介绍这两种方式的详细步骤。推荐优先使用 ASP.NET Core,因为它性能更高、跨平台支持更好、部署更简单。


✅ 方案一:搭建 ASP.NET Core 网站(推荐)

前提条件

  • 阿里云 ECS 实例已安装 Windows Server 2016/2019/2022。
  • 已安装 .NET Runtime 或 .NET SDK(根据需求选择)。
  • 网站代码已准备好(可本地发布后上传,或使用远程构建)。

步骤 1:安装运行环境

方式 A:安装 .NET Runtime(仅用于运行已发布的网站)

  1. 登录服务器,打开浏览器访问 .NET Downloads
  2. 下载并安装对应版本的 .NET Desktop Runtime 或 .NET Hosting Bundle(包含 ASP.NET Core Module for IIS)。
    • 推荐安装 Hosting Bundle,它会自动配置 IIS 模块。

方式 B:安装 .NET SDK(如需在服务器上编译)

  • 安装 .NET SDK,以便在服务器上直接 dotnet build。

步骤 2:准备网站文件

  1. 将你的 ASP.NET Core 项目本地发布(Publish):
    dotnet publish -c Release -o ./publish
  2. 将 publish 文件夹中的所有内容上传到服务器,例如:
    C:inetpubwwwrootMyApp

💡 也可通过 RDP 远程桌面连接,用 WinSCP 或 FTP 上传文件。


步骤 3:配置 IIS

  1. 打开 Server Manager → Add Roles and Features

  2. 确保已安装 Web Server (IIS) 角色。

  3. 安装 ASP.NET Core Module(如果未随 Hosting Bundle 自动安装):

    • 从 Microsoft.AspNetCore.App 下载最新版的 ASP.NET Core Module。
  4. 打开 IIS Manager:

    • 右键 Sites → Add Website
    • 设置:
      • Site name: MyApp
      • Physical path: C:inetpubwwwrootMyApp
      • Binding: HTTP, port 80, hostname(可选)
    • 点击 OK
  5. 在 Application Pools 中:

    • 找到新创建的站点对应的应用池
    • 右键 → Advanced Settings
    • 设置 .NET CLR Version 为 No Managed Code
    • 设置 Managed Pipeline Mode 为 Integrated
  6. 重启 IIS:

    iisreset

步骤 4:测试访问

  • 在浏览器中访问:http://<你的公网IP> 或 http://<域名>
  • 如果看到默认页面或你的网站内容,说明成功!

✅ 方案二:搭建传统 ASP.NET (Framework) 网站

适用于旧版 .csproj 项目(非 Core),使用 .NET Framework 4.x。

步骤 1:安装 IIS 和 ASP.NET

  1. 打开 Server Manager → Add Roles and Features
  2. 在 Web Server (IIS) → Application Development 中勾选:
    • ASP.NET 4.8(或你需要的版本)
    • ASP.NET 3.5(如需要兼容旧项目)
  3. 完成安装。

步骤 2:启用 ASP.NET 功能

  1. 打开 命令提示符(管理员)
  2. 运行以下命令注册 ASP.NET:
    %windir%system32inetsrvaspnet_regiis.exe -i

步骤 3:上传网站文件

  • 将你的 Web 应用程序文件上传到:
    C:inetpubwwwrootYourSite

步骤 4:配置 IIS 站点

  1. 打开 IIS Manager
  2. 右键 Sites → Add Website
  3. 设置物理路径为你的网站目录
  4. 确保 Application Pool 的 .NET CLR Version 设置为 v4.0
  5. 启动站点

步骤 5:测试访问

  • 浏览器访问 http://<公网IP>/YourSite

🔐 安全与优化建议

  1. 防火墙设置:
    • 在阿里云控制台 → 安全组 中放行端口 80(HTTP) 和 443(HTTPS)
  2. 绑定域名:
    • 在 IIS 中绑定域名,并在 DNS 解析指向服务器 IP
  3. 启用 HTTPS:
    • 申请 SSL 证书(可通过 Let’s Encrypt 或阿里云免费证书)
    • 在 IIS 中绑定 HTTPS 并配置证书
  4. 日志与监控:
    • 启用 IIS 日志
    • 使用 Application Insights 或阿里云 ARMS 进行监控

🛠 常见问题排查

问题 解决方案
502.5 错误 检查 .NET Runtime 是否安装;查看事件查看器中的错误日志
404 错误 检查物理路径是否正确;确认默认文档配置
权限不足 确保 IIS_IUSRS 对网站目录有读取和执行权限
端口冲突 检查是否有其他服务占用 80/443 端口

📌 总结

  • 新项目:强烈推荐使用 ASP.NET Core + IIS Hosting Bundle
  • 旧项目:使用 IIS + ASP.NET Framework
  • 无论哪种方式,都需要正确配置 IIS 应用池 和 运行环境

如需进一步帮助(如 Docker 部署、CI/CD 自动化等),欢迎继续提问!

未经允许不得转载:云服务器 » 在阿里云Windows服务器上如何搭建ASP.NET网站?