希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,谢谢关注。

很多人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运行Asp.Net Core App程序。其实大的方式没有多少变化,Asp.Net Core App为了做到跨平台,自带了一个轻量级的Web Server-Kestrel,那么要在IIS中部署Asp.Net Core App,就必须有一种新的机制来协调IIS与Kestrel Server之间的数据传递

Asp.Net Core的部署模式

与传统的Asp.Net程序不同,Asp.Net Core App使用了Kestrel Server。Kestrel[kestrəl]是一个跨平台的Web Server,与IIS一样负责请求的监听、接收和响应,但没有IIS丰富的管理功能,仍需要由IIS来处理一些前置工作。(当然你也可以使用Apache来做前置处理)

IIS负责把外部请求转发给后端的Asp.net Core App,充当“反向代理”角色。

部署环境

Asp.Net Core App部署需要操作系统满足:

  • Windows 7 或更新版本
  • Windows Server 2008 R2 或更新版本

安装.NET Core Windows Server Hosting程序集

安装.NET Core Windows Server Hosting程序集,让IIS具备反向代理功能。该程序集包含了.Net Core运行时(Runtime),.Net Core 类库(Library)和 Asp.Net Core Module。其中Asp.Net Core Module负责反向代理工作。

特别注意,按微软官方说法,如果是脱机安装,则需先手动安装Microsoft Visual C++ 2015 Redistributable。但实践证明即使在线安装很多时候也不会自动安装 Microsoft Visual C++ 2015 Redistributable,因此强烈建议手动安装Microsoft Visual C++ 2015 Redistributabl

另外,目前.NET Core版本升级很快,请下载最新版本的.NET Core Windows Server Hosting,确保服务器上的.Net Core版本不低于部署的Asp.Net Core App版本。

下载Microsoft Visual C++ 2015 Redistributabl

下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=53840

下载最新版本.NET Core Windows Server Hosting

下载地址:https://www.microsoft.com/net/download#/runtime

安装完后,请确保IIS的模块里的配置是对的,请见下图:

模块包含有:asp.net core module

发布网站

有两种方法:可以通过dotnet publish 命令发布,也可以通过Visual Studio发布。

命令行发布

dotnet publish

默认会发布到bin/Debug目录下,可以指定一个发布目录

dotnet publish -o C:UsersjackyfeiDownloads或者dotnet publish --framework netcoreapp1.1 --output "E:Publish" --configuration Release

VS界面发布

IIS中配置Asp.Net Core App

接下来的步骤与部署传统网站基本一致,但也有稍许不同。

1)在网站根目录创建一个logs文件夹。如果你开启了某些日志服务,日志文件将记录在这里。当然也可以不记录日志,但初次部署对排错有帮助,建议创建。

web.config 中开启 stdoutLogEnabled="true"

<aspNetCore processPath="dotnet" arguments=".Web.dll" stdoutLogEnabled="true" stdoutLogFile=".logsstdout" />

2) 在IIS管理器中添加网站。步骤与一般网站配置一致:

3) 配置应用程序池。在左侧导航栏选择“应用程序池”,选择指定程序池,右键菜单,选择“基本设置”,将.Net CLR版本设置为“无托管代码”。

发布成功

我是.NET架构师张飞洪,入行10年有余,人不堪其忧,吾不改其乐,谢谢关注我的头条号。

1.4部署到IIS「深入浅出ASP.NET Core系列」相关推荐

  1. 5.3Role和Claims授权「深入浅出ASP.NET Core系列」

    5.3Role和Claims授权「深入浅出ASP.NET Core系列」 原文:5.3Role和Claims授权「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁. ...

  2. 4.1ASP.NET Core请求过程「深入浅出ASP.NET Core系列」

    原文:4.1ASP.NET Core请求过程「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. HTTP请求过程 这里展示整 ...

  3. 5.1基于JWT的认证和授权「深入浅出ASP.NET Core系列」

    原文:5.1基于JWT的认证和授权「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢 ...

  4. 4.5管道实现机制和模拟构建管道「深入浅出ASP.NET Core系列」

    原文:4.5管道实现机制和模拟构建管道「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 管道实现机制 要了解管道的实现机制 ...

  5. 4.2WebHost配置「深入浅出ASP.NET Core系列」

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. WebHost配置 覆盖配置文件和修改启动URL 覆盖配置文件和修改启动URL是经常使用的地方,覆盖配置文件可以自 ...

  6. 1.3创建项目「深入浅出ASP.NET Core系列」

    控制台创建项目 dotnet new --help 使用控制台采集项目,务必要熟练使用命令,--help是命令帮助的指明灯,在你无法google的时候,可以离线状态最快的帮助到你. 根据模板名称,我们 ...

  7. 5.2基于JWT的令牌生成和定制「深入浅出ASP.NET Core系列」

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注. Token生成 我们知道一旦我们给API添加[Authorize] ...

  8. IIS中的 Asp.Net Core 和 dotnet watch

    在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录.然后build一下就可以 ...

  9. 深入浅出 ASP.NET Core 与 Docker 入门课程说明

    点击蓝字"角落的白板报"关注我哟 加个"星标★",好文必达! 深入浅出 ASP.NET Core 与 Docker 入门课程说明 <深入浅出 ASP.NE ...

  10. netcore docker_深入浅出 ASP.NET Core 与 Docker 入门课程目标说明

    课程目标说明https://www.zhihu.com/video/1241137370310508544 <深入浅出 http://ASP.NET Core 与 Docker >是一门新 ...

最新文章

  1. 类加载器的分类及关系
  2. CTF-Misc-常用知识点
  3. 如何实现windows和linux之间的文件传输
  4. DigSci科学数据挖掘大赛-亚军方案分享
  5. Spring MVC——ConverterltString, Dategt DEMO
  6. LVS负载均衡DR模式实现
  7. 初探PHP的SQL注入攻击的技术实现以及预防措施
  8. python如何进行垃圾回收_python垃圾回收机制
  9. c语言作业ce是什么错误代码,[求助]C语言实现ce搜索功能的两道题
  10. mysql 定期备份_MySQL定时备份(全量备份+增量备份)
  11. 第四期coding_group笔记_用CRF实现分词-词性标注
  12. 阶段3 2.Spring_06.Spring的新注解_5 spring的新注解-PropertySource
  13. xbox键位测试软件,xbox手柄测试软件
  14. 怎样下载mysql5.5_如何下载5.5版的mysql
  15. 各地的公安接口的配置说明书
  16. java rrd 读取_RRDtool 系列连载-6 :如何从 RRD 数据库中提取数据 - RRDtool - 阿勃的 blog...
  17. 点击开关灯效果html,js实现电灯开关效果
  18. IAR使用ST-Link下载仿真
  19. GENI: Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks
  20. 新解决方案销售之一:原则与流程

热门文章

  1. 批处理添加桌面快捷方式
  2. Python图像的基本操作
  3. 语言随机效应模型_R语言LME4混合效应模型研究教师的受欢迎程度
  4. Java并发编程实战之基于生产者消费者模式的日志服务读书笔记
  5. 签到界面加图片java_签到功能实现,没有你想的那么复杂(二)
  6. 深入解析 Flink 的算子链机制
  7. Apache Flink 1.9.0 为什么将支持 Python API ?
  8. 图文介绍进程和线程的区别
  9. Android Multimedia框架总结(二十五)MediaProjection实现手机截屏(无须root)
  10. findViewById中NullPointerException的错误