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.总结 ...
随机推荐
- 无法使用Resource注解
问题描述: 学习Spring框架的时候,发现无法使用@Resource注解,只能使用@Autowired注解. 问题原因: JDK11删除了javax.annotation包,需要导入,否则无法使用@ ...
- Go语言实战: 即时通信系统(未完)
使用Go语言构建一个即时通信系统,旨在锻炼Go语言编程能力 该通信系统至少能够允许用户能够在客户端进行公聊,即所发消息能被所有用户看到,也可发起私聊(即两个用户之间私密通信).同时,用户能够看到当前有 ...
- 在Linux上安装redis7
1.检测虚拟机环境 1.1 bit检测命令:getconf LONG_BIT(建议使用64bit做开发) 1.2 gcc环境检测:gcc -v 如果不具备gcc环境,则使用yum -y install ...
- macOS下安装 n 管理包(node版本管理工具)
1. 安装 n 管理包 终端命令全局安装 npm install -g n 安装成功后在终端输入 n --version 或 n 查看,可看到 n 的默认安装目录 下面就是使用 n 的方式了, 首先查 ...
- js中数组的sort() 方法
sort() 方法用于对数组的元素进行排序,并返回数组.默认排序顺序是根据字符串UniCode码.因为排序是按照字符串UniCode码的顺序进行排序的,所以首先应该把数组元素都转化成字符串(如有必要 ...
- Centos7.x 安装 newman + postman
一.基础环境 输入 npm -v (查看 npm 版本) 输入 node -v(查看 node 版本) 二.安装newman 1.执行 npm install –g newman 进行安装 2.验证安 ...
- 简单理解重载运算符&位运算
重载运算符 作用 重载运算符的作用大致可以理解为自定义一个运算法则,比如当我们在使用结构体的时候,我们有时候会用到优先队列,但是优先队列并不能对于结构体使用,所以这个时候我们就需要用到重载运算符来自定 ...
- P1008 [NOIP1998 普及组] 三连击,置顶题解的问题
题目链接: https://www.luogu.com.cn/problem/P1008 置顶题解 暴力,加简化的判断,数学原理,2个集合内所有数相加相乘结果一样,2个集合的内容一样(没错我自己编得, ...
- vant中van-dialog组件点击确认按钮禁止弹窗自动关闭
1.在van-dialog组件中添加 before-close 属性, 2.定义该方法 newGroupBefColse(action, done) { if (action == 'confirm' ...
- 2023-03-10:YUV420P像素数据编码为JPEG图片,请用go语言实现。
2023-03-10:YUV420P像素数据编码为JPEG图片,请用go语言实现. 答案2023-03-10: 方法一.使用 github.com/moonfdd/ffmpeg-go 库,基于雷霄骅的 ...