如何在IIS 7.5中配置应用程序池,使其在停止后自动重新启动?

39

我的网站每天多次出现宕机情况,当我查看应用程序池(IIS 7.5)时,发现它被停止了,我必须手动重新启动。我该如何设置应用程序池,以便在错误后自动重启?


5
更重要的问题是,为什么你的应用程序池会停止。请检查事件日志并尝试找出导致其停止的原因。 - Nick Bork
3个回答

65
你需要将网站运行的应用程序池的startMode从onDemand更改为AlwaysRunning。默认情况下,IIS将所有应用程序池设置为onDemand。
  1. 在IIS管理器中,单击连接窗格中的计算机名称。
  2. 如果视图未处于活动状态,请切换到特性视图。
  3. 在特性视图的管理部分中双击“配置编辑器”。
  4. 单击“部分”字段的下拉箭头,扩展system.applicationhost,然后单击应用程序池。
  5. 单击(集合),然后单击显示计数的字段旁边的省略号(…)。
  6. 在集合编辑器中,选择要配置startMode属性的应用程序池。
  7. 在底部的属性窗口中,将startMode属性的值设置为AlwaysRunning。

来源:http://msdn.microsoft.com/en-us/library/ee677285%28v=azure.10%29.aspx

在IIS 8及以上版本中,启动模式设置现在可以直接从应用程序池的高级设置中进行操作。


我简直不敢相信我以前从未了解过它,而且我很惊讶它不是默认设置。我无法想象您不希望进行设置的原因,特别是对于任何公共面向 Web 应用程序。 - Todd Menier
IIS中的默认设置基本上都针对.NET和开发站点进行了优化。例如,当您运行PHP时,特别是在回收方面,您必须更改许多设置。 - Chaoix
7
在IIS 8及以上版本中,启动模式设置现在直接可从应用程序池的高级设置中获取。 - Chaoix
1
你需要重启应用程序池才能使更改生效,还是在应用设置后立即生效? - Stefan Zvonar
1
Chaoix,你应该将你的建议发布为答案,因为这是正确的做法。 - Vincent

3

1

“默认情况下,IIS将所有应用程序池设置为按需模式”,这可能会导致更新位时出现问题。此时,网站会重新启动并锁定部署。更好的做法是在应用程序池的高级设置下设置快速故障保护。将故障间隔(分钟)设置为1,最大失败次数设置为5。


更新位元。 - Vincent
2
@Vincent 那可能意味着“部署新内容和二进制文件”。 - NReilingh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接