.Net Core 部署IIS
我相信很多人看了其他的贴子,都没有成功部署,因为里面有很多暗坑。接下来博主就一步一步给大家讲明白,带领大家部署
先基本的发布
- 操作:右击web项目的《发布》按钮。选文件

配置发布属性
部署模式,建议选框架依赖,且安装对应的运行时框架,可共享系统级版本的 .NET Core,如果框架依赖部署不行,可以尝试:独立。
- 框架依赖
在包含框架依赖的情况下,应用程序会依赖于所选 .NET Core 运行时版本。这意味着运行应用程序之前必须先安装正确的 .NET Core 运行时。框架依赖项是一种更轻量级的发布选项,因为它只包含应用程序本身的文件,而不包括 .NET Core 运行时文件。
- 独立发布
在独立发布的情况下,应用程序会包含所需的 .NET Core 运行时文件,这意味着在运行应用程序时不需要安装 .NET Core 运行时。这种发布选项会使应用程序的大小更大,因为它包含了 .NET Core 运行时文件,但它可以使应用程序更易于部署和更可移植,因为它不需要依赖于 .NET Core 运行时的安装。

服务器安装环境
对应的.NET Core Server环境:
- 安装.NET Core Windows Server Hosting
- 查看模块安装是否成功,安装完成后再模块中会显示AspNetCoreModuleV2模块
- 如果没有,可以尝试右侧的操作栏,进行添加/编辑


上传发布文件
把文件上传到服务器上,放到自己指定的目录
在IIS上添加站点
右击=》添加网站

配置网站
配置完确认即可:
- 指定网站名称
- 指定网站承载程序的路径,也就是我们,第3步骤,的路径
- 指定IP+端口

配置应用程序池
CLR版本选:无托管代码

添加web.config
最后一步,在我们程序目录下添加web.config,来告诉IIS我们启动的程序集,参数名:arguments=".\yiri.web.dll" 都是用的相对路径,里面还能拼接参数
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\yiri.web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
下面给大家解释一下配置含义:
configuration:这是根元素,用于表示整个配置文件。
location:指定特定的目录,其内部的配置应该按照 location 中的规则进行处理。
path:指定 location 的路径,"." 表示当前目录。
inheritInChildApplications:指定在子应用程序中是否应该继承此配置。如果设置为 true,则子应用程序将继承此配置;如果设置为 false,则子应用程序将不会继承此配置。
system.webServer:指定应用程序使用的 IIS 版本。
handlers:指定用于处理请求的处理程序。
add:添加一个处理程序。
name:处理程序的名称。
path:处理程序要处理的请求的 URL 路径。
verb:处理程序要处理的 HTTP 动词。
modules:处理程序要使用的 IIS 模块。
resourceType:处理程序要处理的请求的资源类型。
aspNetCore:指定 ASP.NET Core 应用程序的设置。
processPath:应用程序的主执行文件路径。
arguments:传递给应用程序的命令行参数。
stdoutLogEnabled:是否启用应用程序的标准输出日志记录。
stdoutLogFile:标准输出日志文件的路径。
hostingModel:应用程序的托管模型,可以是 inprocess 或 outofprocess。inprocess 模型指的是将应用程序作为 IIS 工作进程的一部分来运行,outofprocess 模型指的是将应用程序作为独立的进程来运行
验证,大功告成

有疑问和问题的,大家留言
.Net Core 部署IIS的更多相关文章
- .Net Core部署IIS
1.环境安装 https://dotnet.microsoft.com/download/dotnet-core 下载Runtime & Hosting Bundle包安装,iis模块会出现支 ...
- ASP.NET Core部署IIS问题总结
部署准备工作 1.服务器开启添加IIS相关功能 1.1. 点击windows搜索到 “启用或关闭windows功能” 1.2 选择添加IIS的部分功能, 如下图所示 2.进入IIS,添加已经发布的 ...
- ASP NET Core 部署 IIS 和发布
1. 微软官网原文链接: https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore- ...
- ASP.NET Core 部署IIS及 OFFSET 附近有语法错误解决
今天自己开发了一个订机票的微信公众号,功能基本已经完成,然后想部署到服务器实际测试下.结果部署上去出现各种问题.先安装asp.net core模块,然后发现数据库并不像在开发时一样,执行ef的命令行语 ...
- NET Core 部署IIS 碰到得问题解决(内托管模式超时、不允许得请求谓词、直接请求无响应、拒绝服务405)
web.config 配置说明 典型的web.confg 配置. 注意其中hostingModel模式和requestTimeout 进程内托管需要注意使用单独的应用程序池: 请求超时默认5分钟,出错 ...
- win2008server R2 x64 部署.net core到IIS上出现【Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057】错误
win2008server R2 x64 部署.net core到IIS上出现[Failed to load the dll from [C:\Program Files\dotnet\host\fx ...
- dotnet core部署方式两则:CLI、IIS
最近在使用dotnet core研究整个开发过程,使用下面两种方式部署: 一,使用 dotnet run 命令运行 在项目路径,shift+右键,选择 “在此处打开命令窗口”,在CMD窗口中运行“do ...
- .net core 使用IIS作为宿主Web服务器,部署常见问题
ASP.NET Core 使用IIS作为Web服务器,部署在IIS上 所做的步骤部署完毕后,启动网站 出现 An error occurred while starting the applicati ...
- asp.net core 2.1 部署IIS(win10/win7)
asp.net core 2.1 部署IIS(win10/win7) 概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器 ...
- .net core部署在iis上
部署在Windows Server 2008 R2上,一直安装失败,网上找的资料一直无法解决问题,后来找到了官方的文档, 原来是要安装sp1,大概2g左右,同时也要安装Microsoft Visual ...
随机推荐
- 使用Docker搭建MongoDB 5.0版本副本集集群
1.mongodb集群 首先我们需要了解mongodb的集群模式,mongodb安装分为单机安装和集群安装.集群安装分为:主从复制(Master-Slaver)集群.副本集(Replica Set)集 ...
- 第12課-Mirth生产环境宕机后基于服务配置XML备份恢复之记录
Mirth Connect作为集成交换平台,生产环境互联互通了众多系统,脑残的是连自家关键业务系统都依托mirth来进行交互,宕机或故障对身处其中的一次紧张的业务系统升级都造成高度的精神紧张:这种宕机 ...
- 二叉查找树的实现C/C++
二叉查找树是一种关键字有序存放的二叉树.在不含重复关键字的二叉查找树中,关键字"较小"的节点一定在关键字"较大"的节点的左子树中,"较小"一 ...
- 云原生时代如何用 Prometheus 实现性能压测可观测-Metrics 篇
简介:可观测性包括 Metrics.Traces.Logs3 个维度.可观测能力帮助我们在复杂的分布式系统中快速排查.定位问题,是分布式系统中必不可少的运维工具. 作者:拂衣 什么是性能压测可观测 ...
- 殷浩详解DDD:领域层设计规范
简介: 在一个DDD架构设计中,领域层的设计合理性会直接影响整个架构的代码结构以及应用层.基础设施层的设计.但是领域层设计又是有挑战的任务,特别是在一个业务逻辑相对复杂应用中,每一个业务规则是应该放在 ...
- 为什么Spring仍然会是云原生时代最佳平台之一?
简介: 基于Java语言的Spring生态,还能否适应新的开发方式,比如Cloud Native.Serverless.Faas等,它还会是云原生时代的最佳平台的选择吗?本文将从5个角度来为你分析一下 ...
- OLAP系列之分析型数据库clickhouse主从副本模式(三)
一.测试单分片,单副本或多副本模式 # 1.停止集群 systemctl stop clickhouse-server # 修改配置文件 vim /etc/clickhouse-server/conf ...
- SpringBoot获取Bean的工具类
1.beanName 默认是类名首字母小写 下面的类:beanName = bean1 @Component public class Bean1 { public String getBean1() ...
- Linux — 物理内存管理
物理内存的组织方式 物理内存是由连续的一页一页的块组成,每个物理页都有页号 每个页由struct page表示,放进数组里--平坦内存模型 SMP和NUMA SMP中,总线会称为瓶颈,因为数据都要经过 ...
- Linux中的touch命令
Linux中一个文件有3种时间属性,分别是mtime,ctime,atime: modification time (mtime) 当该文件的『内容数据』变更时,就会升级这个时间!内容数据指的是文件的 ...