![IIS 丢失配置如何修复?](https://linux22.com/image/688082/IIS%20%E4%B8%A2%E5%A4%B1%E9%85%8D%E7%BD%AE%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%EF%BC%9F.png)
我在 Windows 8.1 x64 上使用 IIS Manager 8.5。我已经使用此安装开发大型 Web 应用程序半年多了。一切都是根据内部的分步指南配置的,该指南介绍了如何设置开发机器。
突然间,我本地安装的 Web 应用程序开始返回 503(自从它仍然工作以来,我最近所做的唯一更改是对作为 Web 应用程序的一部分提供的 JavaScript 文件进行了一些修改)。在尝试通过失败请求追踪模块,IIS 管理器中出现以下新问题:
- 点击应用程序池节点連接tab 给出了一个空列表。我很确定之前至少有一个项目。
- 当尝试按照上述分步指南重新添加应用程序池时,IIS 管理器拒绝这样做,并说该名称的应用程序池已经存在。
- 添加具有不同名称的应用程序池时(例如,池子), 这好的按钮添加应用程序池单击对话框时该对话框变灰,但对话框永远不会消失。
- 点击站点节点連接tab 给我一个空列表。尝试扩展站点节点連接选项卡将使 IIS 管理器冻结(即忙碌的光标无响应)。
我找到了一个applicationHost.config
似乎包含服务器配置的文件。该文件最后一次更改是今天,它确实包含池子. 它是一个格式良好的 XML 文件。
重启机器也没用。重启服务器导致绿色状态指示器不停地徘徊,直到最后显示一条错误消息,说无法启动服务 W3SVC。
我该如何继续调试该问题并找出到底是什么问题?
答案1
首先要做的是查看C:\inetpub\history\
其中的 x 个文件夹,CFGHISTORY_0*
其中包含 IIS 的最后 x 个配置。
我想对一些内容ApplicationHost.config
和当前的内容进行比较C:\Windows\System32\inetsrv\config
,看看有什么变化。
您可以手动修复它或者从历史记录中恢复配置。
您的问题可能与 ApplicationHost.config 无关,但这是我的第一猜测。
通常,如果 ApplicationHost.config 格式不正确,IIS 管理器会告诉您,它不显示项目并且挂起,这不是一个好兆头。
答案2
我现在可以解决这个问题:问题似乎是维基百科服务卡在终止状态。
在查看该服务时服务任务管理器选项卡,或者在服务控制面板中的服务管理器显示其状态为“终止”/“正在终止”(我的德语 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 :
然后我找到了进程ID2356(如上所列,每种情况都会有所不同)流程任务管理器列表并终止该进程。
之后,我回到了服务列表中,服务现在位于正在被处决状态。我的机器上可以再次打开 Web 应用程序,并且 IIS 管理器已停止崩溃/冻结。