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

参考文章

安装 Web Deploy

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

下载

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

安装

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

![image-20241226140930497](【环境搭建】ASP.Net 部署到 IIS/image-20241226140930497.png)

确认服务启动

![image-20241226141058805](【环境搭建】ASP.Net 部署到 IIS/image-20241226141058805.png)

配置 IIS 用户及权限

管理服务

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

  1. 进入管理服务

    如果没有管理服务,则需要在【程序和功能】中安装管理服务。 ![image-20241226141241942](【环境搭建】ASP.Net 部署到 IIS/image-20241226141241942.png)

  2. 停止 WMSVC 服务 ![image-20241226141641045](【环境搭建】ASP.Net 部署到 IIS/image-20241226141641045.png)

  3. 启用远程连接、设置标识凭据 ![image-20241226141750305](【环境搭建】ASP.Net 部署到 IIS/image-20241226141750305.png)

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

IIS 管理器用户

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

  1. 进入管理器用户 ![image-20241226141907989](【环境搭建】ASP.Net 部署到 IIS/image-20241226141907989.png)

  2. 添加用户 ![image-20241226141943921](【环境搭建】ASP.Net 部署到 IIS/image-20241226141943921.png)

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

    这里演示用户名为 IISAdmin。因为我这边已经创建了 MonX 了。后文使用的就以 MonX 为主。这里仅做演示。 ![image-20241226142015782](【环境搭建】ASP.Net 部署到 IIS/image-20241226142015782.png)

添加站点并设置用户权限

  1. 按照如下所示内容添加一个空白的站点 ![image-20241226142327605](【环境搭建】ASP.Net 部署到 IIS/image-20241226142327605.png)

  2. 文件目录添加 Local Service 控制权限 ![image-20241226142656971](【环境搭建】ASP.Net 部署到 IIS/image-20241226142656971.png)![image-20241226142749268](【环境搭建】ASP.Net 部署到 IIS/image-20241226142749268.png)

IIS 网站站点添加权限

  1. 打开对应站点的管理器权限 ![image-20241226142934902](【环境搭建】ASP.Net 部署到 IIS/image-20241226142934902.png)
  2. 添加用户 ![image-20241226142951156](【环境搭建】ASP.Net 部署到 IIS/image-20241226142951156.png)
  3. 选择用户 ![image-20241226143026702](【环境搭建】ASP.Net 部署到 IIS/image-20241226143026702.png)

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

VS 新建项目

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

ASP.NET Core MVC 入门 | Microsoft Learn

![image-20241226144051602](【环境搭建】ASP.Net 部署到 IIS/image-20241226144051602.png)

VS 添加发布

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

  1. 右击 VS 项目点击发布,选择 Web 服务器 ![image-20241226143224624](【环境搭建】ASP.Net 部署到 IIS/image-20241226143224624.png)
  2. 可以选择 Web 部署 ![image-20241226143248525](【环境搭建】ASP.Net 部署到 IIS/image-20241226143248525.png)
  3. 根据 IIS 站点配置填写相关配置 ![image-20241226143608566](【环境搭建】ASP.Net 部署到 IIS/image-20241226143608566.png)
  4. 验证连接 ![image-20241226143712586](【环境搭建】ASP.Net 部署到 IIS/image-20241226143712586.png)

发布

发布项目到 IIS

![image-20241226143845761](【环境搭建】ASP.Net 部署到 IIS/image-20241226143845761.png)

部署后的目录如下所示:

![image-20241226143927118](【环境搭建】ASP.Net 部署到 IIS/image-20241226143927118.png)

相关问题整理

外网无法访问

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

部署失败

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

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