【问题标题】:Application Pools not starting after iisresetiisreset 后应用程序池未启动
【发布时间】:2010-09-19 18:47:38
【问题描述】:

在我开始之前,我知道使用 iisreset 被认为是不好的做法,但无论如何都不应该发生这种情况..

我们拥有的:

  • 在 Windows Server 2003 R2(64 位和 32 位)上使用 IIS6 的几台机器

  • 多个 WCF Web 服务(.NET 运行时 2.0)部署在多个应用程序中,每个应用程序都有自己的应用程序池,每个应用程序池在另一个 Windows 帐户下运行。

会发生什么:

  • 所有 appPools 都已启动,所有服务都在运行
  • IISReset 被执行(或机器重启)
  • IIS 重新启动,但并非所有应用程序池都正常启动。有时它们都会重新启动,有时一个或多个池无法启动。不过,它们可以手动启动。

这是“正常”的 iis 行为吗?我应该避免使用 iisreset,还是我们在 .NET 代码中做错了什么?

【问题讨论】:

    标签: asp.net wcf iis windows-server-2003


    【解决方案1】:

    应用程序池应在 iisreset 时重新启动,但它们确实在 iis 之外运行(在 COM+ 中)以确保可靠性。这意味着如果应用程序行为异常,它们可能不会回来,但 IIS 和其他应用程序会(应该)回来。所以是的,这是“正常的”。

    附: 作为 iisreset 的自豪用户,我也想“出局”。不好的做法? 呸! ;D

    【讨论】:

    • 你能解释一下iisreset是什么吗?我应该在 Program Files 中寻找一些 .exe 吗?
    • 想通了。打开 Powershell 或 CMD 并运行 iisreset.exe
    【解决方案2】:

    在第一个请求到来之前,IIS 不会立即启动 ASP.NET 工作进程 (w3wp.exe)。当您说“未启动”时,是否意味着您尝试访问某些 WCF Web 服务(在 iisreset 之后),并且由于 appPool 无法启动,您收到 Service Unavailable 错误?您是否在事件日志中看到任何与 IIS W3SVC 相关的条目?

    如果有,他们可能会提示您为什么他们无法开始;把它们贴在这里。

    【讨论】:

    • 我在 inetmgr 的池中得到一个“服务不可用”和一个红十字,我还没有机会看到事件日志。
    • 这通常伴随着事件日志中的错误条目;去看看。
    【解决方案3】:

    在之前的支持角色中,我管理了几台运行各种 .NET 混乱的 IIS 服务器。当 AppPool 无法启动时,通常是登录凭据错误。

    【讨论】:

      【解决方案4】:

      原因:

      在第一个请求进入之前,IIS 不会立即启动 ASP.NET 工作进程 (w3wp.exe)。当它显示“未启动”时,意味着您尝试访问某些 WCF Web 服务(在 iisreset 之后)由于对象而失败在内存中占用了一些空间,并且由于 appPool 无法启动,您会收到 Service Unavailable 错误。

      解决方法:

      使用以下命令创建批处理文件并安排它。

      净停止 23svc

      net stop msftpsvc

      网络停止 smtpsvc

      净停止 PleskControlPanel

      net stop HTTPFilter

      iisreset /重启

      网络启动 w3svc

      net start msftpsvc

      网络启动 smtpsvc

      启动 PleskControlPanel

      net 启动 HTTPFilter

      【讨论】:

        【解决方案5】:

        有类似的问题 - 重新启动 IIS 后,DefaultAppPool 已停止。

        在应用程序事件日志中发现错误:

        Windows 无法让您登录,因为您的配置文件无法加载。检查您是否已连接到网络,或者您的网络是否正常运行。如果此问题仍然存在,请联系您的网络管理员。
        详细信息 - 访问被拒绝。

        已通过在 DefaultAppPool 高级设置选项中将加载用户配置文件设置为 False 进行修复。

        希望对你有用。

        【讨论】:

          【解决方案6】:

          通过应用程序池的高级设置重新设置身份(身份验证凭据)对我有用。

          之前我更改了我的活动目录密码,并且由于应用程序池已经在运行,它运行良好,直到我执行 IISRESET。

          【讨论】:

            猜你喜欢
            • 2014-07-31
            • 1970-01-01
            • 1970-01-01
            • 2020-11-23
            • 2010-12-02
            • 1970-01-01
            • 1970-01-01
            • 2018-09-15
            • 2012-11-04
            相关资源
            最近更新 更多