踩坑日记与 Windows 服务器部署 asp.net core 指南。

准备

操作系统:Windows Server 2008 R2 或更高版本
文件:

后面这两个文件的下载地址:.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 运行环境

在服务器上分别安装

  1. Microsoft Visual C++ 2015 Redistributable
  2. aspnetcore-runtime
  3. dotnet-hosting

安装完成后,重启系统,或从命令提示符处依次执行 net stop was /ynet 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 这种应该很标准化的操作,如果遇到问题需要很复杂,看起来就很奇奇怪怪的方案,那很可能是方向错了。

之前就踩过坑,尝试采用安装重定向等等奇怪的方法。


参考资料:


原文链接:https://www.cnblogs.com/jasongrass/p/10645606.html

END

Windows 服务器部署 asp.net core的更多相关文章

  1. 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 ...

  2. Windows平台部署Asp.Net Core应用

    一. 简介 Asp.Net Core 部署方式有两种:依赖框架和独立部署. 1. 框架依赖的部署: 顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core. 由于 ...

  3. 第三节:Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式)

    一. 简介 二. 文件系统发布至IIS 三. Web部署发布至IIS 四. FTP发布至IIS 五. Windows服务的形式发布 ! 作       者 : Yaopengfei(姚鹏飞) 博客地址 ...

  4. 在服务器 部署 asp.net core 报502.5的错

    HTTP Error 502.5 - Process Failure 如果 IIS 该安装的都装好了的话,那就需要安装一个.net core sdk,链接如下: https://www.microso ...

  5. Windows + IIS 环境部署Asp.Net Core App

    环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运 ...

  6. 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 ...

  7. 如何优雅的利用Windows服务来部署ASP.NET Core程序

    上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法,其中有一种方式是通过Windows服务来进行部署,这样既可以做到开启自启动,又不会因为iis的反向代理而损失部分性能.但是美中不足 ...

  8. win10下iis部署asp.net core rtm

    随着ASP.NET Core 1.0 rtm的发布,网上有许多相关.net core 相关文章,今刚好有时间也在win10环境上搭建下 ASP.NET Core的部署环境,把过程记录下给大家. 1. ...

  9. Centos7安装jexus,部署asp.net core,asp.net mvc

    什么是Jexus 官网解释:https://www.jexus.org/ Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,Jexus Web Service,简称JWS,以支持AS ...

随机推荐

  1. React - 环境准备

    1. 下载 node.js,在 https://nodejs.org/en/download/ 选择合适的版本. 2. 检查 node.js 是否安装成功. hueyMB:~ zhisenzheng$ ...

  2. 同一条sql语句,只是改变了搜索的条件,就很慢?

    重建索引: ) 显示索引信息: dbcc showcontig('表名’) 具体参考:http://www.cnblogs.com/bluedy1229/p/3227167.html

  3. 【BZOJ】4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值

    [题意]n位同学(其中一位是B神),m门必修课,每门必修课的分数是[1,Ui].B神碾压了k位同学(所有课分数<=B神),且第x门课有rx-1位同学的分数高于B神,求满足条件的分数情况数.当有一 ...

  4. C语言编写守护进程

    概念 守护进程(daemon)是一种运行在后台的一种特殊的进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在Linux中,每个系统与用户进行交流的界面成为终端,每一个从此终 ...

  5. 【leetcode 简单】 第六十九题 删除链表中的节点

    请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 - ...

  6. Ubuntu 14.04 Nvidia显卡驱动安装及设置

    更换主板修复grub 引导后,无法从Nvidia进入系统(光标闪烁), 可能是显卡驱动出了问题. 1. 进入BIOS设置, 从集成显卡进入系统 将显示器连接到集显的VGI口, 并在BIOS中设置用集显 ...

  7. beego项目运行过程

    一:首先man.go,整个程序的入口 func main() { beego.Run() } 然后beego.run()代码 // Run beego application. // beego.Ru ...

  8. Strusts2笔记6--拦截器

    拦截器: Struts2的大多数核心功能都是通过拦截器实现的.拦截器之所以称之为“拦截器”,是因为它可以在执行Action之前或之后拦截下用户请求,执行一些操作,以增强Action方法的功能. Str ...

  9. TCP/IP详解(整理)

    1.概述 路由器是在网络层进行联通,而网桥是在链路层联通不同的网络. IP层用ICMP来与其他主机或路由器交换错误报文和其他的重要信息.应用程序也可以访问ICMP,两个诊断工具:Ping和Tracer ...

  10. c语言格式控制符

    http://zhidao.baidu.com/link?url=-YJjz3U0fd_eSW9eLa8ankGo_QbyOOOaKYWyAY9g4mKWQj0DN6l12OSLJz24U8jCwo1 ...