ASP.Net Core 项目部署
安装环境
部署环境有两种:
- .Net Core SDK 包含所有运行时和程序开发包,用于程序开发使用,体积相对较大。
- .Net Core Runtime 仅用于程序运行,不包含开发包,体积小。
注:部署程序时不推荐安装SDK,优先使用Runtime环境。
下载地址: [https://dotnet.microsoft.com/download]
控制台运行
程序发布后,会在发布的目录产生一个dll文件,要运行该程序,需要通过命令来执行;如果是Windows系统还可以直接点 xxx.exe 来执行。
dotnet xxx.dll
优点:
更好的性能和内存利用率。
跨平台
灵活性,它是独立于操作系统进行开发和修补的。
编程端口和 TLS 配置
扩展性,允许 PPv2 等协议和备用传输
缺点:
端口共享
内核模式 Windows 身份验证。 Kestrel 仅支持用户模式的身份验证。
通过队列传输的快速代理
直接文件传输
响应缓存
IIS部署
ASP.NET Core 不在由IIS进程托管,而是在Kestrel服务器上运行,IIS则扮演反向代理的的角色,转发请求到Kestrel的不同端口程序当中,然后将处理好的请求推送到中间管道,在返回到IIS,在由IIS转达到不同客户端。

IIS安装
Windows 系统
- 打开控制面板,选择程序。

- 启用或关闭Windows功能。

- 勾选Internet Information Services以及Web管理工具下的IIS管理控制台并确认。

- 打开控制面板→系统和安全→Windows 工具,打开IIS管理器。

- 打开 Default Web Site ,或打开浏览器输入访问地址:localhost,呈现如下画面,则表示安装成功。

Windows Server 安装
- 选择添加角色和功能。

- 一直下一步到选择web服务器。

- 添加服务器角色。

功能可以按需选择,等待安装完毕。
安装成功后,在服务器管理器中会出现IIS服务器。

- 打开 Default Web Site ,或打开浏览器输入访问地址:localhost,呈现如下画面,则表示安装成功。

部署步骤
安装.Net Core捆绑包,点此处下载。
Windows Sever系统:打开IIS,进入IIS 管理器;Windows系统:打开控制面板→系统和安全→Windows 工具→IIS管理器。

- 右键点击网站,选择添加网站,然后进入配置。

- 对网站进行相关配置,包括名称、目录、类型、IP、端口等信息。

- 设置应用程序池为“无托管代码”,因为IIS是作为一个反向代理的角色,并不需要它负责托管代码。

- 访问部署地址成功。

错误解决
错误一:HTTP 错误 405.0 - Method Not Allowed
现象
当部署完成,访问时出现错误:HTTP 错误 405.0 - Method Not Allowed 无法显示您正在查找的页面,因为使用了无效方法(HTTP 谓词)。

解决方法
- Windows系统:打开Windows功能,关闭WebDAV功能,Windows Server系统:在角色功能中删除即可。

- 打开处理程序映射。

- 找到EtensionlessUrlHander-Integrated-4.0→编辑托管处理程序→请求限制→添加PUT,DELETE谓词。

- PUT,DELETE请求正常。

ASP.Net Core 项目部署的更多相关文章
- VisualStudioCode创建的asp.net core项目部署到linux,使用nginx代理
1.准备工作: a:使用VisualStudioCode创建asp.net core项目,并使用命令“dotnet publish”发布(可以参考前面两篇文章). 如:dotnet publish - ...
- asp.net core项目 部署在 linux上
第一步 安装 .net core https://www.microsoft.com/net/learn/get-started/linuxubuntu 第二步 运行你的asp.net core 项目 ...
- VisualStudioCode创建的asp.net core项目部署到IIS,以及遇到的问题
一.发布项目 在visual studio code中通过命令“dotnet publish”,如下图: 这里我把发布位置设置到了D:\WebSite\netcoredemo下. 二.设置IIS 0. ...
- asp.net core项目部署IIS
1.下载对应版本的webhost 我的是2.2 下载地址:https://download.visualstudio.microsoft.com/download/pr/ba001109-03c6-4 ...
- 在IIS上部署你的ASP.NET Core项目
概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kest ...
- ASP.NET Core:部署项目到Ubuntu Server
概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整天和Windows打交道的我,初次使用Linux确实有点 ...
- Docker + Jenkins 持续部署 ASP.NET Core 项目
Docker 是个好东西,特别是用它来部署 ASP.NET Core Web 项目的时候,但是仅仅的让程序运行起来远远不能满足我的需求,如果能够像 DaoCloud 提供的持续集成服务那样,检测 gi ...
- 在IIS上部署你的ASP.NET Core项目 (转载)
概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kest ...
- k8s+Jenkins+GitLab-自动化部署asp.net core项目
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 此文阅读目录: 1.闲聊 ...
- 在Linux CentOS上部署Asp.Net Core项目(Tengine、Asp.Net Core、Centos、MySql)
一.前言 1.简单记录一下Linux CentOS 7中安装与配置Tengine的详细步骤. 2.简单比较一下Tengine 和Nginx 3.搭建Asp.net Core和部署 Web程序 4.总结 ...
随机推荐
- 深度剖析Redis九种数据结构实现原理,建议收藏
1. Redis介绍 Redis 是一个高性能的键值存储系统,支持多种数据结构. 包含五种基本类型 String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),和 ...
- mysql迁移:xtrabackup迁移mysql5.7.32
问题描述:利用外部xtrabackup工具来做迁移mysql数据库,或者恢复数据库 xtrabackup迁移mysql 1.环境 mysql源库 mysql目标迁移库 IP 192.168.163.3 ...
- 生成df的几种方法
法一: pd.DataFrame( [ (第一行),(第二行),(第三行)] ) df = pd.DataFrame([('bird', 389.0), ('bird', 24.0), ('mamma ...
- 一款能“干掉” ChatGPT 的应用「GitHub 热点速览」
据说有了它,ChatGPT 就可以靠边站了.因为 Auto-GPT 能更加主动地完成你给他的指定任务,不用做更多的人为干涉,它的推理能力比 ChatGPT 更强,有人用它解放双手做了个 React 网 ...
- 图文介绍 Windows 系统下打包上传 IOS APP 流程
现在很多伙伴跨平台开发应用,有些童鞋没有苹果机,本文将介绍,如何在 Windows 系统环境下直接上架 APP ,不用去搞虚拟机之类的了, Windows 下照样轻松打包上架 iOS APP . 下面 ...
- Caused by: java.net.BindException: Address already in use: JVM_Bind(ActiveMq已经启动)
1.本地启动项目开启两个启动类出错. Error creating bean with name 'brokerService' defined in class path resource [com ...
- 快速求popcount的和
前置知识 \(\text{popcount}(n)\) 表示将 \(n\) 转为二进制后的数中 \(1\) 的个数. 结论 \[\sum_{i=1}^{n} \text{ popcount}(i)=\ ...
- 存下吧!Spring高频面试题总结
Spring是什么? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. Spring的优点 通过控制反转和依赖注入实现松耦合. 支持面向切面的编程,并且把应用业务逻辑和系统 ...
- 2020-10-01:谈谈golang的空结构体。
福哥答案2020-10-01:#福大大架构师每日一题# 1.map.value是空结构体,构造集合. 2.通道.只传递信号,不传递数据. 3.切片.不管切片多长,都不会占用空间. 4.仅包含方法的结构 ...
- 2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j : i + 1 需满足:i +
2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0). 每一步,你可以从下标 i 跳到下标 i + 1 .i - 1 或者 j : i + 1 需满足:i + ...