当前位置:首页 > 话题广场 > 攻略专题 > 游戏问答

.net如何连接mysql?终于找到答案了IIS部署.Net5全流程

介绍

互联网信息服务(Iis)是ASP .用于托管web应用程序(包括NET核心)的灵活、安全和可管理的web服务器。

虽然我们的程序可以跨平台了,不过还是有些服务是部署在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 运行。

image.png

安装后查看应用程序目录

image.png

发布项目

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

项目结构如下

image.png

源码地址: 需要自取

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

image.png

发布后如下

image.png

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

托管方式

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

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

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

image

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

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

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

进程外托管(Kestrel服务器)

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

image

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

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

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

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

部署项目

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

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

image.png

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

image.png

启动程序转到swagger页面

image.png

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

image.png

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

image.png

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

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

1.《.net如何连接mysql?终于找到答案了IIS部署.Net5全流程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《.net如何连接mysql?终于找到答案了IIS部署.Net5全流程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2217879.html

上一篇

如何成为3dmax大师?总结很全面速看!3dmax疯狂模渲大师|搞定建模渲染,从CPU核心模式开始

下一篇

【交管12123】交管12123你了解吗?

.net如何连接mysql数据库?总结很全面速看!MySQL数据库驱动程序底层是如何连接数据库的?

.net如何连接mysql数据库?总结很全面速看!MySQL数据库驱动程序底层是如何连接数据库的?

.net如何连接mysql数据库相关介绍,指南:最近研究Calcite时发现使用Avatica框架构建数据库驱动程序,这让我很好奇MySQL的驱动程序基础是如何与MySQL数据库通信的。(威廉莎士比亚,美国作家)。 基本概念 在进行深入分析之...

.net如何连接mysql数据库连接池?我来告诉你答案西门子S7-1200直接连接MySQL数据库

.net如何连接mysql数据库连接池?我来告诉你答案西门子S7-1200直接连接MySQL数据库

.net如何连接mysql数据库连接池相关介绍,项目要求,收集的数据应存储在数据库中。目前,西门子有多种方法,包括WINCC脚本编写、第三方软件等。但是随着开发,云RDS等设备可能希望直接连接到数据库。现场可能没有运行脚本或程序的专用计算机或触摸屏...

.net如何连接mysql?我来告诉你答案MySQL的学习之路(一):MySQL的安装配置以及Mycli

.net如何连接mysql?我来告诉你答案MySQL的学习之路(一):MySQL的安装配置以及Mycli

.net如何连接mysql相关介绍,前言:“MySQL的学习路径”系列记录了学习MySQL数据库期间遇到的问题和各种解决方案的摘要。 在最初开始学习的时候,我对数据库一窍不通,找了很多教程来学。到现在写下这篇文章的时候,我已经小有心得,...

.net如何连接mysql?总结很全面速看!MySQL的学习之路(一):MySQL的安装配置以及Mycli

.net如何连接mysql?总结很全面速看!MySQL的学习之路(一):MySQL的安装配置以及Mycli

.net如何连接mysql相关介绍,前言:“MySQL的学习路径”系列记录了学习MySQL数据库期间遇到的问题和各种解决方案的摘要。 在最初开始学习的时候,我对数据库一窍不通,找了很多教程来学。到现在写下这篇文章的时候,我已经小有心得,...

.net如何连接mysql数据库连接池?我来告诉你答案.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池?我来告诉你答案.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池相关介绍,1. 创建新项目-ASP.NET Core Web 应用程序 2. 3. 右键项目-管理 NuGet 程序包(N)... 4. 搜索 Pomelo.En 安装 5. 在a文件添加 数据库连接字符串 &...

.net如何连接mysql数据库连接池?总结很全面速看!.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池?总结很全面速看!.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池相关介绍,1. 创建新项目-ASP.NET Core Web 应用程序 2. 3. 右键项目-管理 NuGet 程序包(N)... 4. 搜索 Pomelo.En 安装 5. 在a文件添加 数据库连接字符串 &...

.net如何连接mysql?总结很全面速看!Net Core 3.1版本使用MySQL数据库迁移启动模板项目

.net如何连接mysql?总结很全面速看!Net Core 3.1版本使用MySQL数据库迁移启动模板项目

.net如何连接mysql相关介绍,最近要搭建新项目,因为还没有用过.net core,所以想用.net core的环境搭建新项目,因为不熟悉.net core的架构,所以就下载了abp项目先了解一下。但是自己太菜了,下载了模板项目,在...

关于.net如何连接mysql数据库,你需要知道这些.net core 里连接mysql查询数据的方法

关于.net如何连接mysql数据库,你需要知道这些.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库相关介绍,1. 创建新项目-ASP.NET Core Web 应用程序 2. 3. 右键项目-管理 NuGet 程序包(N)... 4. 搜索 Pomelo.En 安装 5. 在a文件添加 数据库连接字符串 &...