开发者社区> jackyfei> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,谢谢关注。 很多人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运行Asp.Net Core App程序。
+关注继续查看

希望给你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来做前置处理)

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

 

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

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

 

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

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

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

 

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

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

 模块包含有:asp.net core module

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

 

发布网站

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

命令行发布

dotnet publish

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

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

VS界面发布

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

 

IIS中配置Asp.Net Core App

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

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

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

 

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

 

web.config 中开启 stdoutLogEnabled="true"

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

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

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

 

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

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

 

发布成功

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

 

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(三)
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用。 系统环境为CentOS 8 。
0 0
ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(一)
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用。 系统环境为CentOS 8 。
0 0
1.4部署到IIS「深入浅出ASP.NET Core系列」
原文:1.4部署到IIS「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,谢谢关注。 很多人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运行Asp.Net Core App程序。
942 0
Azure 部署 Asp.NET Core Web App
在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务。那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web App 服务是个很好的选择。
1112 0
ASP.NET Core : 一. 概述
ASP.NET Core : 一. 概述
0 0
ASP.NET MVC (五、HttpClient接口解析)(6)
ASP.NET MVC (五、HttpClient接口解析)(6)
0 0
ASP.NET MVC (五、HttpClient接口解析)(5)
ASP.NET MVC (五、HttpClient接口解析)(5)
0 0
ASP.NET MVC (五、HttpClient接口解析)(4)
ASP.NET MVC (五、HttpClient接口解析)(4)
0 0
ASP.NET MVC (五、HttpClient接口解析)(3)
ASP.NET MVC (五、HttpClient接口解析)(3)
0 0
ASP.NET MVC (五、HttpClient接口解析)(2)
ASP.NET MVC (五、HttpClient接口解析)(2)
0 0
+关注
jackyfei
我是张飞洪,.NET程序员一枚,躬耕于微软10年有余,人不堪其忧,吾不改其乐,热爱编程,不拘语言,业务优先,关注IoT,关注DevOps和微服务
文章
问答
文章排行榜
最热
最新
相关电子书
更多
FLowFuzz A Framework
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载