概述:详细记录如何将 ASP. Net 项目发布到 IIS(新建项目、安装 Web Deploy、部署项目)

参考文章

安装 Web Deploy

这个是必须安装的,安装后才能发布 ASP.Net 应用到当前机器。

下载

下载链接:Web Deploy : The Official Microsoft IIS Site

安装

安装时选择 自定义安装整个功能都安装在本地硬盘上

image-20241226140930497

确认服务启动

image-20241226141058805

配置 IIS 用户及权限

管理服务

启动远程连接,设置 IIS 用户认证。

  1. 进入管理服务

    如果没有管理服务,则需要在【程序和功能】中安装管理服务。 image-20241226141241942

  2. 停止 WMSVC 服务 image-20241226141641045

  3. 启用远程连接、设置标识凭据 image-20241226141750305

  4. 设置完成后启动 WMSVC 服务

IIS 管理器用户

添加 IIS 管理用户,设置用户名和密码,后续发布时需要用到

  1. 进入管理器用户 image-20241226141907989

  2. 添加用户 image-20241226141943921

  3. 设置用户名和密码,添加用户

    这里演示用户名为 IISAdmin。因为我这边已经创建了 MonX 了。后文使用的就以 MonX 为主。这里仅做演示。 image-20241226142015782

添加站点并设置用户权限

  1. 按照如下所示内容添加一个空白的站点 image-20241226142327605

  2. 文件目录添加 Local Service 控制权限 image-20241226142656971image-20241226142749268

IIS 网站站点添加权限

  1. 打开对应站点的管理器权限 image-20241226142934902
  2. 添加用户 image-20241226142951156
  3. 选择用户 image-20241226143026702

到此目标服务器的相关配置就完成了。

VS 新建项目

选择如下所示的项目,然后根据自己需要填写项目名就可以,默认模版就可以。如果没有该模板的话,则需要安装相关开发插件。参考微软官方教程:

ASP.NET Core MVC 入门 | Microsoft Learn

image-20241226144051602

VS 添加发布

这里以 VS 2022 为例,其他版本VS基本上差不多。

  1. 右击 VS 项目点击发布,选择 Web 服务器 image-20241226143224624
  2. 可以选择 Web 部署 image-20241226143248525
  3. 根据 IIS 站点配置填写相关配置 image-20241226143608566
  4. 验证连接 image-20241226143712586

发布

发布项目到 IIS

image-20241226143845761

部署后的目录如下所示:

image-20241226143927118

相关问题整理

外网无法访问

检查下防火墙,添加相关端口的允许规则

部署失败

可能的原因不外乎以下几种:

  1. Web Deploy 安装失败
  2. 站点根目录对应的文件夹没有 LocalService 控制权限
  3. IP 不通