当前位置:首页 > 技术知识 > 正文内容

记录处理登录页面显示: HTTP Error 503. The service is unavailable.

maynowei8个月前 (09-14)技术知识102

某天一个系统的登录页面无法显示,显示Service Unavailable HTTP Error 503. The service is unavailable,马上登录服务器上查看IIS是否正常。打开IIS后发现应用程序池里的状态是已停止,便右键打开启动,启动后再次打开系统登录页面,还是无法显示,报503错误。再次查看应用程序池里的状态,又变成已停止。

上网搜了搜报错对应的解决方法,试了试方法:在应用程序池上--右键--高级设置--进程模型--标识,更改了这项里的“内置账户”,将原有的“ApplicationPoolIdentity”更改为“NetworkService”,然后重启下应用池,结果问题依旧。

又查看了系统日志,显示应用程序池将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。

应用程序日志显示模块 DLL C:\Program Files (x86)\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll 未能加载。返回的数据为错误信息。

根据日志内容查看与Net Core有关,但我记得这台WIN2008的服务器上没安装过,打开控制面板的程序进行查看,发现别的同事最近安装了.net7.0和.NET Framework4.5,原因分析:net core runtime基于vc_redist.x64运行的,所以也就出现了此类错误需要安装vc_redist.x64才能在iis上运行netcore项目,于是便下载进行安装,可最后提示安装失败了,原因是需要先安装补丁才行。生产服务器连不了外网,又没找到2008下的补丁,所以此路还是不通。


于是又在网上挖呀挖,最终找到applicationHost.config这个配置文件,它包括所有站点、应用程序、虚拟目录和应用程序池的定义,以及 Web 服务器设置的全局默认值。IIS的配置文件中ApplicationHost.config的modules 元素中注册了很多模块 ,这些模块供IIS承载的所有应用程序使用。

打开后,搜索找到AspNetCoreModuleV2,在后面增加蓝色部分内容,分别是集成模式,集成模式下运行时的版本和CPU型号适配。(包括:<globalModules>和<system.webServer>)


至此,在应用程序池里重新启动一下,网页登录界面正常能显示出来,问题解决了。

相关文章

Win10系统除了移植Objective C,还要有Swift

IT之家讯Build2015大会最让人震惊的莫属微软推出工具,Win10系统可以移植安卓/iOS应用,特别是后者使用的Objective C编程语言,不过最新消息表明,微软连苹果最新的Swift移植也...

Django 官方推荐的姿势:类视图(django类视图和函数视图哪个好)

作者:HelloGitHub-追梦人物在开发网站的过程中,有一些视图函数虽然处理的对象不同,但是其大致的代码逻辑是一样的。比如一个博客和一个论坛,通常其首页都是展示一系列的文章列表或者帖子列表。对处理...

Android指示器,轮播与循环轮播(android轮播图代码)

Android UI Libs之CircleIndicator1. 说明CircleIndicator,顾名思义,圆形指示器,只一个可以用来做轮播的第三方库。2. 配置在模块的build.gradle...

Linux系统编程—互斥量mutex(linux 互斥量)

##互斥量mutex前文提到,系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。为了实现同步机制,Linux中提供了多种方式,其中一种方式为互斥锁mutex(也...

大厂 Go 编程规范(二):mutex(编程大厂是什么意思)

mutex 是golang 的互斥锁,可以保障在多协程的情况下,数据访问的安全。1、零值有效我们并不需要mutex指针mu := new(sync.Mutex) mu.Lock()直接可以使用mute...

大量类加载器创建导致诡异FullGC(类的加载器有什么用)

“ 由 GC 问题带你全面了解 JDK8 Metaspace”01—现象最近接手了一个同事的项目,某一天接口的响应耗时突然增加了很多,由几十ms 增加到了几十秒。首先查看机器上的日志,有调用第三方接口...