Windows 服务器部署 asp.net core
踩坑日记与 Windows 服务器部署 asp.net core 指南。
准备
操作系统:Windows Server 2008 R2 或更高版本
文件:
- Microsoft Visual C++ 2015 Redistributable
- aspnetcore-runtime
- dotnet-hosting
后面这两个文件的下载地址:.NET download archives for Linux, macOS, and Windows

准备 asp.net core web 应用程序
Step1 使用 VS2017 建立 asp.net core web 应用程序。
Step2 发布。使用 “IIS,FTP” - “文件系统” 的发布方式,获取发布文件。
具体的操作,可参考这里:
使用 IIS 在 Windows 上托管 ASP.NET Core2.0 - Sundar - 博客园
Step3 IIS配置。在服务器上启用 IIS 服务,默认配置即可。
安装 asp.net core 运行环境
在服务器上分别安装
- Microsoft Visual C++ 2015 Redistributable
- aspnetcore-runtime
- dotnet-hosting
安装完成后,重启系统,或从命令提示符处依次执行 net stop was /y 和 net start w3svc 。
重新启动 IIS 将选取安装程序对系统 PATH 所作的更改。
安装 asp.net core 运行环境必须在配置好 IIS 之后进行。
在 IIS 中添加网站
无特殊配置,需要注意的是,将应用程序池中对应的项修改为 无托管代码 。
以上所有操作都可以参考 使用 IIS 在 Windows 上托管 ASP.NET Core2.0 - Sundar - 博客园 这篇博文,写得很清晰。
重点:可能会遇到的问题
500.19

原因:安装 dotnet-hosting 在添加 IIS 之前,或者安装完成之后,没有进行重启。
解决方案:重新安装 dotnet-hosting ,选择修复选项。然后重启服务器。
502.5

原因:asp.net 所需运行环境不够。
解决:
方案1: 安装 SDK 。 但这种方案没有在我这里生效,安装姿势不对?
方案2: 在 asp.net 项目的 csproj 文件中添加
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>

然后重新发布,会发现发布文件里面多了很多依赖项,更新服务器端的文件,重启网站,应该就可以大功告成了。
简单的事情,一定有简单的解决方案,对于部署 asp.net core 这种应该很标准化的操作,如果遇到问题需要很复杂,看起来就很奇奇怪怪的方案,那很可能是方向错了。
之前就踩过坑,尝试采用安装重定向等等奇怪的方法。
参考资料:
- 使用 IIS 在 Windows 上托管 ASP.NET Core2.0 - Sundar - 博客园
- ASP.NET Core 2.0 Preview 2 on IIS error 502.5 - Stack Overflow
- Host ASP.NET Core on Windows with IIS | Microsoft Docs
- 使用 IIS 在 Windows 上托管 ASP.NET Core | Microsoft Docs
原文链接:https://www.cnblogs.com/jasongrass/p/10645606.html
END
Windows 服务器部署 asp.net core的更多相关文章
- 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/tutori ...
- Windows平台部署Asp.Net Core应用
一. 简介 Asp.Net Core 部署方式有两种:依赖框架和独立部署. 1. 框架依赖的部署: 顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core. 由于 ...
- 第三节:Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式)
一. 简介 二. 文件系统发布至IIS 三. Web部署发布至IIS 四. FTP发布至IIS 五. Windows服务的形式发布 ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 ...
- 在服务器 部署 asp.net core 报502.5的错
HTTP Error 502.5 - Process Failure 如果 IIS 该安装的都装好了的话,那就需要安装一个.net core sdk,链接如下: https://www.microso ...
- Windows + IIS 环境部署Asp.Net Core App
环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运 ...
- Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App
Windows + IIS 环境部署Asp.Net Core App 环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署A ...
- 如何优雅的利用Windows服务来部署ASP.NET Core程序
上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法,其中有一种方式是通过Windows服务来进行部署,这样既可以做到开启自启动,又不会因为iis的反向代理而损失部分性能.但是美中不足 ...
- win10下iis部署asp.net core rtm
随着ASP.NET Core 1.0 rtm的发布,网上有许多相关.net core 相关文章,今刚好有时间也在win10环境上搭建下 ASP.NET Core的部署环境,把过程记录下给大家. 1. ...
- Centos7安装jexus,部署asp.net core,asp.net mvc
什么是Jexus 官网解释:https://www.jexus.org/ Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,Jexus Web Service,简称JWS,以支持AS ...
随机推荐
- iScroll使用方法
最基本的iScroll使用结构 <div id="wrapper"> <ul> <li></li> ..... </ul> ...
- php检测文件编码方法[非完美]
关于文件编码的检测,百度一下一大把都是,但是确实没有能用的. 很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出. 看到有人写了个增强版,用 BOM 判断的, ...
- 【算法专题】后缀自动机SAM
后缀自动机是用于识别子串的自动机. 学习推荐:陈立杰讲稿,本文记录重点部分和感性理解(论文语言比较严格). 刷题推荐:[后缀自动机初探],题目都来自BZOJ. [Right集合] 后缀自动机真正优于后 ...
- 选择Memcached还是Redis?
两者相似之处 Memcached与Redis都属于内存内.键值数据存储方案.它们都从属于数据管理解决方案中的NoSQL家族,而且都基于同样的键值数据模型.双方都选择将全部数据保存在内存当中,这自然也就 ...
- 【leetcode 简单】 第九十五题 数字转换为十六进制数
给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写. 十六进制字符串中不能包含多余的前导零.如果要转化的数 ...
- web项目启动首页能访问接口报404
这个问题如果控制台没有报错,然后看一下日志,看看spring容器是否加载: 如果是一直卡在这里了,多半是resources文件下的配置有问题,或者是resources目录不是源文件,工具无法识别 我遇 ...
- 【codeforces】【比赛题解】#855 Codefest 17
神秘比赛,以<哈利波特>为主题……有点难. C题我熬夜切终于是写出来了,可惜比赛结束了,气啊. 比赛链接:点我. [A]汤姆·里德尔的日记 题意: 哈利波特正在摧毁神秘人的分灵体(魂器). ...
- 42 - 数据库-orm-SQLAlchemy
目录 1 ORM 2 sqlalchemy 3 基本使用 3.1 创建连接 3.1.1 利用连接池执行sql 3.1.2 利用session来执行sql 3.2 创建基类 3.3 创建实体类 3.3. ...
- 87.在ModelSim中添加Xilinx ISE仿真库
在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\ ...
- Python Challenge 第 4 关攻略:linkedlist
代码 import requests url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing={}" ...