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

  • 相关阅读:
    domain logic approaches
    远程连接mysql提示:1251-client does not support authentication protocol requested by server
    Navicat远程连接mysql时,报错误“Can't connect to MySQL server on 'ip'(10038)”的解决方法
    XShell连接不了(ubunt14.04)虚拟机Could not connect to ‘192.168.1.105’ (port 22): Connection failed
    Ubuntu20.04 安装和卸载MySQL8
    linux系统(Ubuntu)之合上笔记本盖但不断网
    Ubuntu20.04 FTP服务器的搭建
    Ubuntu20.04安装SqlServer2019教程-简洁版
    Linux更改主机名的三种方法
    ubuntu grub引导win10
  • 原文地址:https://www.cnblogs.com/yhkly/p/14225003.html
Copyright © 2011-2022 走看看