什么是iis(什么是IIS?其主要作用是什么?)

什么是iis(什么是IIS?其主要作用是什么?)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

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 运行。

什么是iis(什么是IIS?其主要作用是什么?)

安装后查看应用程序目录

什么是iis(什么是IIS?其主要作用是什么?)

发布项目

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

项目结构如下

什么是iis(什么是IIS?其主要作用是什么?)

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

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

什么是iis(什么是IIS?其主要作用是什么?)

发布后如下

什么是iis(什么是IIS?其主要作用是什么?)

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

托管方式

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

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

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

什么是iis(什么是IIS?其主要作用是什么?)

该图说明了 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进行部署。

分享到 :
相关推荐

东莞服务器租用好在哪(东莞哪里租)

在现在互联网不断提升完善的时代。越来越多个人跟企业通过网络来宣传自己的公司。那么网络...

为什么根服务器都在美国(网络服务器根在美国吗)

根服务器在美国的原因:由于互联网的发展由美国开始。所有IPv4根服务器均由美国政府授...

ping大包不通说明什么问题(ping大包65500 不通)

1、ping大包不通说明什么问题当我们进行网络通信时,可能会出现ping大包不通的[...

香港服务器为什么会出现网络延迟过高的情况(香港服务器为什么会出现网络延迟过高的情况呢)

香港服务器会出现网络延迟过高的原因:1。香港服务器带宽使用情况超出购买的数量导致;2...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注