zoukankan      html  css  js  c++  java
  • windows server 2012 R2里IIS配置.net core2.1遇到的坑

    首先刚接触.net core不久,在本地也是简单写点测试程序,没遇到过什么问题,感觉还行,最近朋友搞了个asp.net core2.1的程序,让我给他服务器配置一下,我想这都跨平台了有什么难的吗?拿来我先在本地配置下试试,我用的是win10,自己装了vs2019,可以说环境的坑排除了不少,接着网上搜了下,在IIS里配置.net core的教程,照着上面的做很快就配置好,主要就三点:

    一、下载安装 dotnet-hosting-2.1.22-win.exe ,安装后IIS > 模块 中会出现AspNetCoreModule,这个东西是.net core能在IIS运行的前提

    2.1之前的是AspNetCoreModule

    2.2之后的是AspNetCoreModuleV2

    微软资料:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1#install-the-net-core-hosting-bundle

    各版本.net core下载地址:https://dotnet.microsoft.com/download/dotnet-core

    二、下载安装SDK和rumtime包:

    dotnet-sdk-2.1.810-win-x64.exe

    aspnetcore-runtime-2.1.22-win-x64.exe

    三、IIS线程池配置:

    .net clr版本设置为:无托管代码

    这三步搞完,浏览运行起来了,心情大好,看起来也没什么难的嘛,感觉比之前的.net framework还方便啊,不愧是最新的跨平台架构,接着搞正式的服务器了!然而,高兴的太早了,噩梦刚刚开始!

    正式的服务器是windows server 2012 R2,先按照上面的三点搞完之后,兴冲冲的打开浏览,what?居然报错:HTTP Error 502.5 - Process Failure

    先点开他给出的链接,看了感觉没啥用啊,也许是我不会找;遇事不决问搜索,继续搜索,网友给出的是确保安装了以下三点

    • Microsoft Visual C++ 2015 Redistributable
    • .NET Core Windows Server Hosting bundle
    • 对应版本的.Net Core SDK

    后面两个都装了,那就看看第一个Microsoft Visual C++ 2015 Redistributable是个什么鬼吧

    下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=53840

    下载完后安装,开始挺顺利,到结尾的时候一直卡在 正在处理window81—×64,

    然后我点开控制面板 > 程序看到Microsoft Visual C++ 2015 Redistributable已经有了,我就把一直卡的这个窗口关了,然后浏览网站程序,还是502.5错误,一脸懵逼!

    我想着可能是我心急关早了,没装好,但明明安装程序列表已经有了啊,不甘心搜索了下“正在处理window81—×64

    我擦,还真有问题,看了相关资料,需要安装KB2999226补丁

    下载地址:https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows

    下载好补丁后,打开,提示“只允许运行一个wusa.exe实例”,又是什么鬼啊!啊!

    搜索!解决方法:打开任务管理器,找到windows update进程,关闭它!

    接着装补丁!打开,程序自动搜索了老半天啊,提示“此更新不适用于你的计算机”!!!二脸懵逼!!!下的补丁明明是对应系统版本的!有点抓狂!有点不想搞了!

    想着看看.net core到底装好了没,别是没装好!打开cmd,输入dotnet,敲回车,提示“api-ms-win-crt-runtime-l1-1-0.dll 丢失”!三脸懵逼啊!!!又是什么鬼!

     继续搜索,发现还是Microsoft Visual C++ 2015 Redistributable没有装好!还是需要装KB2999226补丁!

    但是这个补丁刚才装不上啊!蓝瘦啊!捋捋思路,是不是这个补丁装之前还要装其他的东西?赶紧看看刚才下载的页面,确实有!需要先安装KB2919355补丁!

     哪就接着下补丁!下载地址:https://support.microsoft.com/en-us/help/2919355/windows-rt-8-1-windows-8-1-windows-server-2012-r2-update-april-2014

    点开一看,我滴个乖乖!690M!好嘛!搞搞搞!下载及安装将近三个小时!

    安装完后重启,重启之后,远程连接,账号密码输进去,回车,没问题,但怎么就是出不来远程画面呢,几秒种后远程连接直接就没了!此时我的内心竟然毫无波澜!!!

    我想可能是系统在开机前更新吧!已经深夜十一点多了!想想睡觉吧!明天再搞!如果明天还进不去,那八成是系统打补丁打卒了,哈哈哈!

    第二天上午十点,心平气和的打开远程连接,输入账号密码,回车,几秒后,呦!进来了!没问题!看起来猜的没错!

    接着装补丁KB2999226,好家伙!一次成功!然后再装Microsoft Visual C++ 2015 Redistributable,玩美无阻!打开cmd,输入dotnet,回车,ok没问题!

    然后打开网站网址,心里默默祈祷...两秒后,网站画面顺利出现!

    此次,windows server 2012 R2服务器IIS配置.net core,采坑结束!

    话说微软自己的服务器系统怎么配置个.net core这么难呢?!坑多的要命啊!

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    2021-01-20,配置服务器又遇坑,还是server 2012 R2,无法安装KB2919355,提示 此更新不适用于计算机 ,经查找,需要先安装KB2919442

    总结一下

    server 2012 R2 配置.net core

    先安装.net core SDK, Runtime, hosting

    如果cmd命令行不能运行dotnet,则安装 Microsoft Visual C++ 2015 Redistributable

    如果安装不成功,需要安装补丁KB2999226 <-- KB2919355 <-- KB2919442

  • 相关阅读:
    平衡二叉树之RB树
    平衡二叉树之AVL树
    实现哈希表
    LeetCode Median of Two Sorted Arrays
    LeetCode Minimum Window Substring
    LeetCode Interleaving String
    LeetCode Regular Expression Matching
    PAT 1087 All Roads Lead to Rome
    PAT 1086 Tree Traversals Again
    LeetCode Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/yhkly/p/14225003.html
Copyright © 2011-2022 走看看