【发布时间】:2011-06-12 03:27:10
【问题描述】:
有时异常会导致application pool 关闭。我手动启动它,但问题是如何在IIS 7.0(Windows server 2008)中自动执行此行为。
【问题讨论】:
标签: exception iis-7 restart application-pool
有时异常会导致application pool 关闭。我手动启动它,但问题是如何在IIS 7.0(Windows server 2008)中自动执行此行为。
【问题讨论】:
标签: exception iis-7 restart application-pool
如果一个应用程序池死了,该池服务的资源的下一个请求将自动重新启动它。但是,如果您在应用程序池上启用了快速故障保护,并且在 故障间隔 指定的时间间隔内,该应用程序池的死机次数超过了 maximum failures 属性指定的次数em> 属性,那么您将收到 503 Service Unavailable 消息。此时,您将不得不手动重新启动应用程序池。
要解决此问题,请禁用应用程序池的快速故障保护,或尝试增加时间段内的故障数量,然后确定导致应用程序池终止的异常的根本原因。
【讨论】:
startMode 属性。默认值为onDemand,它在收到第一个 HTTP 请求时启动应用程序池。您是否尝试过禁用快速故障保护?尝试一下,然后确保您的应用程序池已启动。它还会死吗?您的应用程序和系统事件日志中有哪些与 IIS 相关的错误?
startMode 属性已添加到 IIS 7.5 配置中,但是如果您运行的是 IIS 7,则应用程序池的默认行为模拟 startMode = onDemand,应说明我之前链接的文档。
open iis 选择您的网站并在右侧看到操作
在浏览网站 -> 高级设置下
选择自动启动为真。
【讨论】:
application pools 并在失败时启动它们。
我在 Windows Server 2012 Standard 和 IIS 8 中遇到了类似的问题。最后带有 & 字符的 URL 会导致 IIS 崩溃,并认为它们是恶意的。这会导致应用程序池失败,从而使网站崩溃。
您需要做的是查看事件查看器中的 1309 个事件。 (在事件 ID 列中)您可以使用任务计划程序进行设置。当您看到该事件时,您重新启动应用程序池。
要重新启动应用程序池,您可以使用 .vbs 脚本,如下所示:
设置 oWebAdmin = GetObject("winmgmts:root\WebAdministration") 设置 oAppPool = oWebAdmin.Get("ApplicationPool.Name='DefaultAppPool'") ' 回收应用程序池。 oAppPool.Recycle
如果您更喜欢 Powershell,也可以使用它。
我使用在这里找到的一个非常简洁的 C# 程序: http://www.west-wind.com/weblog/posts/2012/Oct/02/A-tiny-Utility-to-recycle-an-IIS-Application-Pool
它做得很好,并且似乎解决了前两种方法存在的一些权限问题。不过,我确实必须以管理员身份运行此脚本。
希望这会有所帮助。它不能解决问题,但在解决此 URL 问题之前,它会消除热量。
【讨论】: