IIS 丢失配置如何修复?

IIS 丢失配置如何修复?

我在 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 管理器已停止崩溃/冻结。

相关内容