Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core

第一部分:本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用。

  官方文档地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio

本教程涵盖以下主题:

  • 在 Windows Server 上安装.NET Core Hosting Bundle。
  • 在 IIS 管理器中创建 IIS 站点。
  • 部署 ASP.NET Core 应用。

我概况一下,主要是安装2个文件:

1、安装. NET Core SDK 安装在开发计算机上(dotnet-sdk-3.1.100-win-x64.exe)

      下载地址:https://dotnet.microsoft.com/download。选择 Download .NET Core SDK 这个版本进行安装就可以。

2、安装 .NET Core 托管捆绑包(dotnet-hosting-3.1.0.exe)。使用以下链接下载安装程序:

下载地址:当前 .NET Core 托管捆绑包安装程序(直接下载)  https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer

3、安装 Web Platform Installer。(这一步可以省略,我见.net core 2.0版本有人装这个,我的windows10安装了,windows Server服务器没有装 )。

下载地址:https://www.microsoft.com/web/downloads/platform.aspx

4、重启电脑,或者在命令行执行以下命令(我建议以下命令执行完后重启电脑吧)。

    重启服务器或在命令行界面中执行 net stop was /y,后跟 net start w3svc 。

第二部分:关于发布、部署到iis的一些配置:

1. 关于visual studio 2019发布.net core 3.0时一些配置

发布-步骤1:选取发布目标:选择文件夹,然后点击高级:

发布-步骤2:目标框架:netcoreapp3.0, 部署模式:框架依赖,目标运行时:选择可移植。然后保存。

     注意: 这里要重点说明:这里的目标运行时:win-x64、win-x86 是你第一步,安装.net core sdk的运行时版本。

   我们在第一部介绍时,就直接选择的是64位按照包,所以这个文章所有截图中都是选择64位运行时版本。

发布-步骤3:点击发布按钮,就发布完成。

2.部署到iis 。

建议查看官方文档:将 ASP.NET Core 应用发布到 IIS ,https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio。

这里截图列一下我的关键配置:

1.应用程序池,选择无托管模式。我电脑是64位,选择“启用32位应用程序”为“false”。

            

iis进程高级选项中,修改进程模块的“标识”为有固定权限的用户,也可按照官方文档操作,给有权限的iis应用程序账号。

2.权限配置:

第三部分:使用 IIS 在 Windows 上托管 ASP.NET Core  问题太多:

  官方文档https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-3.1#iis-configuration 官方文档。

我部署过程中遇到的问题:如下

HTTP Error 500.0 - ANCM In-Process Handler Load Failure

Troubleshooting steps:

  • Check the system event log for error messages
  • Enable logging the application process‘ stdout messages
  • Attach a debugger to the application process and inspect

For more information visit: https://go.microsoft.com/fwlink/?LinkID=2028526

下图:

部署后出现的以上错误的原因可能有以下几点:

1、没有安装第一部分中的前2个安装包,

2、发布或者部署时运行时版本没有选择正确。现在一般都是64位。注意看商品的配置。

3、部署时i给的iis的权限不够。安装商品分配合适权限。

这样基本应该解决了90%的问题。

其他参考:

Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式) : https://blog.csdn.net/weixin_33757609/article/details/93693395 。

原文地址:https://www.cnblogs.com/davies/p/12038023.html

时间: 2024-10-12 04:45:20

Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core的相关文章

使用 Nginx 在 Ubuntu 16.04 上托管 ASP.NET Core

使用 Nginx 在 Ubuntu 16.04 上托管 ASP.NET Core 准备工作 服务器主机:腾讯云主机 Ubuntu 16.04 64位 客户端软件:putty.exe; WinSCP 5.13.2 在 Ubuntu 中安装 ASP.NET Core 微软在 .NET Core指南 提供了在不同操作系统中安装运行 ASP.NET Core 的帮助文档,请选择 linux-prerequisites 部分,并找到和自己服务器所安装操作系统相同的内容进行安装即可. 注册Microsoft

指尖上的电商---(11)Windows平台部署SolrCloud

SolrCloud是一种分布式解决方式,是基于zookeeper和solr的,能够简单理解为一种集群,能够提供分布式查询.分布式写索引. SolrCloud的结构大致是这种,一个SolrCloud包含多个Shared节点.一个Shared的包含Solr节点.当中每一个Shared中的有一个Leader Solr节点.多个Replica节点. 每一个SOLR节点的内容是一样的. 我们这节看下怎么在windows平台上部署solrCloud 须要下载下程序.详细安装配置能够前几节的教程  tomca

使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序

说在前面 在阅读本文之前,您必须对 Docker 的中涉及的基本概念以及常见命令有一定了解,本文侧重实战,不会对相关概念详述. 同时请确保您本地开发机器已完成如下安装: Docker 18.06 或更高版本的 Docker 客户端 .NET Core SDK 2.2 或更高版本 Visual Studio Code 代码编辑器,以及 C# 语法插件 1.17.1 或更高版本 注:本文实验环境是 Ubuntu 18.04 LTS.如果您的机器是 Window,也可以把 Docker 装在虚拟机或服

UE4 Windows平台部署游戏到IOS 第二部分

点击加号后会出来如下截图 勾选上红色单选框处(因为这个我已经申请过了所以是灰色),然后continue到后面会出现下图 选择一个之前我提到申请证书会用的的那个.csr后缀文件夹,完成以后就可以下载证书了. 完了以后点击,Identifies 下All IDs 会出现如下截图 红色标记 1 处填写App描述字符 注意 2 处默认是没有被选上的 需要自己选上,这里是一个坑点按照格式填写 app标识符,记得把星号换成字符,点击继续完成. 现在添加设备(手机),手机连上电脑(要确认已经被识别),然后点击

使用 IIS 在 Windows 上托管 ASP.NET Core2.0

准备: 操作系统:Windows Server 2008 R2 或更高版本 开发环境:VS2017 第一步:新建项目ASP.NET Core Web应用程序 在 Visual Studio 中,选择“文件”>“新建”>“项目”. 在新建项目对话框的左侧窗格选择“.NET CORE”, 在中间窗格中,点击“ASP.NET Core Web 应用程序(.NET Core)” 修改自己的项目命名及存储位置 点击确定 在版本选择器下拉框中选择“ASP.NET Core 2.0”选择“Web 应用程序(

使用 Nginx 在 Linux 上托管 ASP.NET Core

1.官网地址https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.2 2. 原文地址:https://www.cnblogs.com/Spinoza/p/11601020.html

如何为Android,Mac和Windows平台创建Java JNI动态链接库

Java Native Interface (JNI) 是Java和C/C++之间的桥梁.在一些情况下,为了提高Java程序的性能,扩展Java程序的功能,我们需要使用JNI.比如数据库的调用,当我们下载一个JDBC的jar包之后,解压可以看到里面包含了不同平台的动态链接库: 这篇文章介绍如何为Android,Mac和Windows平台,创建一个最简单的JNI动态链接库. 参考文章: Getting Started with JNI on Android, Windows and Mac And

.net core 1.1.0 MVC 控制器接收Json字串 (JObject对象) (二)

.net core 1.1.0 MVC 控制器接收Json字串 (JObject对象) (二) .net core 1.1.0 MVC 控制器接收Json字串 (JObject对象) (一) 上一篇主要是以Form键值对提交的数据,转为Json方式处理,有时我们直接以Body字串提交,我们要解决以下两种方式提交的取值问题: JObject $('#btn_add').click(function (e) { var a = $('#tb_departments').bootstrapTable(

Windows Azure Pack快速部署(2) Azure Pack服务平台部署

Windows Azure Pack快速部署(2) Azure Pack服务平台部署 编号 FQDN IP OS 角色 1 12dc.contoso.com 192.168.6.10/24 Windows Server 2012 R2 Str AD服务器 2 WAP.contoso.com 192.168.6.11/24 Windows Server 2012 R2 Str Azure Pack 3 SPF.contoso.com 192.168.6.12/24 Windows Server 2