You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将ASP.NET MVC Web应用部署到Web服务器或IIS

最优部署方案说明

针对ASP.NET MVC + MySQL的技术栈、局域网访问场景,优先选择Windows服务器自带的IIS作为托管服务,和.NET生态兼容性最好、配置成本最低、权限管控更灵活,不需要额外安装第三方Web服务。

前置准备
  • 服务器端:Windows Server 2016及以上版本,提前开启IIS服务,安装对应版本的*.NET Core Hosting Bundle*(如果是.NET Framework版本的MVC,安装对应版本的.NET Framework运行时即可),如果数据库也部署在当前服务器,提前装好MySQL服务并完成初始化
  • 开发端:VSCode安装C#扩展,确保项目本地可正常运行,提前把项目内的数据库连接串修改为服务器端可正常访问的MySQL地址
具体操作步骤

第一步:打包发布ASP.NET MVC项目

在VSCode中打开项目根目录,调出终端执行对应打包命令:

  • .NET Framework版本MVC:msbuild /t:Publish /p:Configuration=Release /p:PublishDir=./publish
  • .NET Core/.NET 5+版本MVC:dotnet publish -c Release -o ./publish
    命令执行完成后,项目运行所需的所有文件都会输出到publish文件夹,把整个文件夹复制到服务器的指定目录即可(比如C:\webapps\你的项目名)

第二步:创建IIS站点

  1. 打开服务器的IIS管理器,左侧右键「网站」→「添加网站」
  2. 自定义填写站点名称,物理路径选择刚才复制到服务器的publish文件夹路径
  3. 绑定配置:类型选http,IP地址下拉选择服务器的局域网固定IP,端口填写未被占用的端口号(比如8080),主机名留空即可
  4. 点击确认完成站点创建

第三步:配置应用程序池和权限

  1. 点击IIS左侧的「应用程序池」,找到刚创建站点对应的应用池,右键「基本设置」
  2. 如果是.NET Framework版本MVC,.NET CLR版本选择「v4.0.30319」;如果是.NET Core/.NET 5+版本,选择「无托管代码」,托管模式选择集成
  3. 右键应用池→「高级设置」,找到「标识」选项,修改为「LocalSystem」,避免权限不足无法读取文件或访问数据库
  4. 找到服务器上存放publish文件夹的上级目录,右键「属性」→「安全」,添加IIS_IUSRS用户,授予读取和执行权限

第四步:配置数据库访问

  1. 如果MySQL部署在当前Web服务器,连接串直接写server=localhost;database=你的库名;user=你的MySQL账号;password=你的MySQL密码;即可
  2. 如果MySQL部署在其他服务器,确保Web服务器能正常ping通数据库地址,连接串填写数据库的局域网IP,同时给对应MySQL账号开启Web服务器IP的访问权限

第五步:测试局域网访问

  1. 先在服务器本地打开浏览器,输入http://127.0.0.1:你设置的端口,确认站点可以正常访问
  2. 打开服务器防火墙,添加入站规则,开放你设置的站点端口允许局域网访问
  3. 局域网内其他设备打开浏览器,输入http://服务器局域网IP:端口即可正常访问应用
常见问题排查
  • 访问报502.5错误:大概率是未安装对应版本的.NET运行时或Hosting Bundle,重新安装对应版本后重启IIS即可
  • 访问报403权限错误:检查站点目录是否给IIS_IUSRS用户授予了读取权限,或者应用池标识是否已修改为LocalSystem
  • 数据库连接失败:检查连接串配置是否正确,MySQL服务是否正常运行,对应账号是否开通了Web服务器IP的访问权限

内容的提问来源于stack exchange,提问作者michi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:06:04