我正在使用Windows 8.1 x64上的IIS Manager 8.5。 我一直在使用这个安装超过半年来开发一个大型的networking应用程序。 一切都是根据关于如何设置开发机器的内部分步指南进行configuration的。
突然之间,我的本地安装的networking应用程序已经开始返回503(我只做了最近的更改,因为它仍然工作是作为Web应用程序的一部分提供的JavaScript文件的一些修改)。 在尝试通过“ 失败请求跟踪”模块找出原因时,IISpipe理器中出现以下新问题:
我可以find包含服务器configuration的applicationHost.config文件。 这是今天最后一次更改,它确实包含pool_A 。 它是一个格式良好的XML文件。
重新启动机器没有帮助。 重新启动服务器导致绿色状态指示器无尽的漫游,直到最后显示错误消息,说服务W3SVC不能启动。
我怎样才能进行debugging这个问题,并找出究竟是什么错误?
首先要做的是查看C:\inetpub\history\ x文件夹CFGHISTORY_0*与IIS的最后x个configuration。
我想对一些ApplicationHost.config和C:\Windows\System32\inetsrv\config的当前一个进行比较,看看有什么改变。
您可以手动修复或从历史logging中恢复configuration。
有可能你的问题与ApplicationHost.config无关,但这是我第一次猜测。
通常,如果ApplicationHost.config格式不正确,IISpipe理器会告诉您,它不显示项目并挂起的事实不是一个好兆头。
我现在可以解决这个问题:问题似乎是W3SVC服务停留在终止状态。
在任务pipe理器的“ 服务”选项卡或控制面板的“ 服务”pipe理器中查看该服务时,其状态显示为“终止”/“正在终止”(在我的德语Windows版本中为“wird beendet”)。 因此,停止或重新启动服务的所有选项都是灰色的(因此, 这个相关的答案没有帮助)。 但是,这个状态似乎是永久的 – 它甚至在Windows重新启动后仍然存在。
我已经应用这个答案通过控制台杀死服务:
C:\Users\mapper>sc queryex w3svc SERVICE_NAME: w3svc TYPE : 20 WIN32_SHARE_PROCESS STATE : 3 STOP_PENDING (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x161 WAIT_HINT : 0x4e20 PID : 2356 FLAGS :
然后,我在任务pipe理器的进程列表中发现进程ID 2356 (如上所列,在每种情况下都不相同),并终止该进程。
之后,我又回到了服务列表,那里的服务现在处于执行状态。 Web应用程序可以在我的机器上再次打开,并且IISpipe理器已停止崩溃/冻结。