IIS部署ASP.NET5的实现步骤

目录
  • 介绍
  • 安装环境
  • 安装ASP.NET Core托管捆绑包
  • 发布项目
  • 托管方式
    • 进程内托管(IIS HTTP 服务器)
    • 进程外托管(Kestrel服务器)
  • 部署项目
  • 参考文档

介绍

Internet Information Services (IIS) 是一种灵活、安全且可管理的 Web 服务器,用于托管 Web 应用(包括 ASP.NET Core)。虽然我们的程序可以跨平台了,不过还是有些服务是部署在windows服务器下的,下面我们就从头开始部署下我们的程序到IIS.

本次示例环境:Windows Server 2012 R2 、vs2019、MySQL、.net5

安装环境

支持平台

  • Windows 7 或更高版本
  • Windows Server 2012 R2 或更高版本

本次代码将安装在Windows Server 2012 R2 版本上,感觉这个版本使用的公司还不少。

安装ASP.NET Core托管捆绑包

安装的文件应该和项目对应的版本相同,现在我项目使用的.net版本是5,那么我应该也用5的,下载地址是:此处

安装其他版本的请参考官网地址:.NET Core托管捆绑包

捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块允许 ASP.NET Core 应用在 IIS 运行。

安装后查看应用程序目录

发布项目

新建一个net5 WebAPI程序,当前程序主要包含一个用户控制器(包含用户信息的增删改查)并且连接MySQL数据库。

项目结构如下

源码地址:https://gitee.com/AZRNG/my-example 需要自取

通过vs2019发布我们的项目,然后将发布后的项目拷贝到要部署的服务器上面。

发布后如下

为了正确设置 ASP.NET Core 模块,web.config 文件必须存在于已部署应用的根路径中。里面可以设置一些环境、日志等配置。

托管方式

进程内托管(IIS HTTP 服务器)

自 ASP.NET Core 3.0 起,默认情况下已为部署到 IIS 的所有应用启用进程内托管。

进程内托管在与其 IIS 工作进程相同的进程中运行 ASP.NET Core 应用。 进程内承载相较进程外承载提供更优的性能,因为请求并不通过环回适配器进行代理,环回适配器是一个网络接口,用于将传出的网络流量返回给同一计算机。

该图说明了 IIS、ASP.NET Core 模块和进程内托管的应用之间的关系

显式配置进行内托管,需要在项目文件(.csproj)中增加如下配置

<PropertyGroup>
  <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>

进程外托管(Kestrel服务器)

由于运行 ASP.NET Core 进程与 IIS 工作进程分开,所以ASP.NET Core 模块会负责进程管理。

该图说明了 IIS、ASP.NET Core 模块和进程外托管的应用之间的关系

进程外托管配置,在项目文件 ( .csproj) 中将 属性的值设置为 OutOfProcess

<PropertyGroup>
  <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>

关于两种托管方式的差异:此处

部署项目

将项目进行发布,然后拷贝到我们的服务器一个文件夹内。

打开IIS添加网站,选择物理路径为我们项目文件

修改应用程序池为无托管模式

启动程序转到swagger页面

因为当前我并没有连接数据库,直接调用接口应该报错,我们看下错误日志。启动输出日志

说明我们项目已经部署成功了

如果出现了错误可以查看点此处查看常见错误解决方案:此处

题外话:当初部署2.1版本时候,windows server 2012r2需要打好几个补丁,并且需要重启多次,没想到这次安装net5这么顺利(服务器是从朋友那借的,我自己的是linux),如果你所在公司需要部署.net,还是推荐linux进行部署。

参考文档

https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-5.0

到此这篇关于IIS部署.Net5的实现步骤的文章就介绍到这了,更多相关IIS部署.Net5 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在IIS上部署ASP.NET Core Web API的方法步骤

    对于本文,我想与您分享有关如何在IIS上部署ASP.NET Core Web API的指南.我将指导您安装Visual Studio 2019,.NET Core Runtime 3.0.我还确保我逐步引导您在服务器(Web IIS)中启用它,使用no受管代码选项创建新的应用程序池,创建ASP.NET Core Web API项目以及发布ASP.NET Core Web API. 了解并遵循正确的步骤来准备开发和部署环境后,在IIS上部署ASP.NET Core Web API就是一件容易的事.

  • IIS部署asp.net mvc网站的方法

    iis配置简单的ASP.NET MVC网站,供大家参考,具体内容如下 编译器:VS 2013 本地IIS:IIS 7 操作系统:win 7 MVC版本:ASP.NET MVC4 sql server版本: 2008 r2 打开VS 2013,新建一个MVC项目(Internet版的),然后在本地上运行测试下,应该可以.随后配置iis 7: 看看simple_mvc 下的内容(如果这里没有配置正确,就会出现分析器问题!): 先配置下目录浏览: 由于是MVC项目,我们可以不用配置默认文档 然后我们浏

  • asp.net部署到IIS常见问题的解决方法

    今天捣鼓umbraco,在本地都弄好了,结果放到服务器里面却出现了异常.网站找了好多资料,最终还是把问题解决了. 下面把解决方案说下,具体的问题就不一一罗列了: 1.没有安装对应的.net framework 框架 解决方案: .net 3.5以下的框架要通过[打开或关闭windows功能]这个地方来安装. 4.0以上的框架要通过微软官方网站下载后来安装. 2.IIS没有注册成功 解决方案: 在CMD窗体,运行如下命令: .net 2.0框架注册: C:\WINDOWS\Microsoft.NE

  • IIS 7.5 部署ASP.NET失败的解决方法

    近日在win7的IIS7.5上部署ASP.NET4.0 程序时,发现浏览网页都出现错误代码为"503"的错误,但是我已经将对应用程序部署到IIS上了,怎么会出现找不到页面的情况呢?开始以为是ASP.Net 环境没有安装到IIS7.5中,执行了几遍ASPNET_REGIIS -i都还是一样,结果查看ASP.NET应用程序使用的[应用程序池]-DefaultAppPool停止了,于是我马上启动,但是马上它有恢复成[停止]状态: 于是,查看[windows事件查看器]发现如下错误: 发现错误

  • 在IIS上部署ASP.NET Core项目的图文方法

    概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等).而配置文件和过程都会由些许调整,中间最重要的角色便是AspNetCoreModule,

  • 把ASP.NET MVC项目部署到本地IIS上的完整步骤

    前言 默认情况下,在VisualStudio中开发网站,会运行在IISExpress中,如果想把网站部署到本地的IIS服务器上该怎么办呢? 配置IIS的几个关键点: 1.URL重写模块,这个以前是ISAPI筛选器的功能,后来好像就改版了,都成模块化设计了. 2.ASP.NET MVC项目有路由机制,所以不需要用到IIS中默认文档功能以及目录浏览功能. 3.记得检查应用程序池的 .NET Framework版本,配置成v4.0版本. 4.身份验证上一般不用管,IIS默认使用的是"匿名身份验证&qu

  • IIS部署ASP.NET5的实现步骤

    目录 介绍 安装环境 安装ASP.NET Core托管捆绑包 发布项目 托管方式 进程内托管(IIS HTTP 服务器) 进程外托管(Kestrel服务器) 部署项目 参考文档 介绍 Internet Information Services (IIS) 是一种灵活.安全且可管理的 Web 服务器,用于托管 Web 应用(包括 ASP.NET Core).虽然我们的程序可以跨平台了,不过还是有些服务是部署在windows服务器下的,下面我们就从头开始部署下我们的程序到IIS. 本次示例环境:Wi

  • IIS部署ASP.NET Core项目及常见问题总结

    部署准备工作 1.服务器开启添加IIS相关功能 1.1. 点击windows搜索到 “启用或关闭windows功能” 1.2 选择添加IIS的部分功能, 如下图所示 2.进入IIS,添加已经发布的网站文件 3.设置应用程序池无托管代码 4.运行你的网站 4.1. 默认运行下, 如出现500.19问题, 则说明网站目录权限不足, 需要给网站添加用户, 设置所有权限. 4.2.打开网站的文件, 添加用户设置权限, 然后刷新网站 5.按照以上的操作, 一般即可正常运行, 如出现不同的异常, 以下总结归

  • IIS部署asp.net报404错误的解决方法

    1).所建网站->(右键)权限->"ASP.NET计算机帐户"是否已添加. 2).所建网站->(右键)属性->ASP.NET选项卡->版本是否为2.0,不是则修改为2.0; 3).IIS->WEB服务扩展中->ASP.NETV2.0是否被禁止,若为禁止状态则启动; 4).所建网站->(右键)属性->主目录->执行权限是否为:纯脚本;应用程序池是否设置: 5).所建网站->(右键)属性->ASP.NET选项卡->

  • 详解IIS在ASP.NET Core下的两种部署模式

    目录 一.ASP.NET CORE Core Module 二. In-Process部署模式 三.Out-of-Process部署模式 四.<aspnetcore>配置 KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择.ASP.NET CORE应用针对IIS具有两种部署模式,它们都依赖于一个IIS针对ASP.NET CORE Core的扩展模块.本文提供的示例演示已经同步到<ASP.NET

  • Asp.net core利用IIS在windows上进行托管步骤详解

    摘要 最近项目中,尝试使用asp.net core开发,在部署的时候,考虑现有硬件,只能部署在windows上,linux服务器暂时没有.下面话不多说了,来一起看看详细的介绍吧. 部署注意事项 代码中启用iis和Kestrel public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[]

  • 值得分享的IIS部署网站详细步骤

    本文为大家分享了IIS部署网站的全部教程,供大家参考,具体内容如下 1.开始->控制面板 2.管理工具->IIS管理器 3.右键添加网站 4.添加网站 5.检查ISAPI筛选器,若应用池是4.0,就要有4.0的筛选器,(请注意是32位与或是64位) 若没有对应筛选器,可添加筛选器 若未安装Framework可win+R 运行%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i 安装Framework 6.检查默认文

  • 详解在Azure上部署Asp.NET Core Web App

    在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App 服务是个很好的选择. 下面我们会通过 Visual Studio 创建一个 Asp.net Core demo 应用,然后把这个 demo 应用部署到 Azure Web App.通过阅读本文,您将能了解到如何创建 Asp.NET Core 应用程序和如何在Azure上创建 Web App 并部署

随机推荐