You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何禁用IIS应用程序池自动启动,使其保持停止状态?

解决IIS应用程序池手动停止后自动启动的问题

遇到这种情况确实挺闹心的,我之前处理过好几次类似的问题,整理了几个靠谱的解决方向,你可以挨个排查试试:

1. 修改应用池的启动模式

这是最常见的诱因——如果你的应用池设置了AlwaysRunning模式,IIS会主动维持它的运行状态,哪怕你手动停止,过段时间也会自动重启。

操作步骤:

  • 打开IIS管理器,找到目标应用程序池
  • 右键点击 → 选择「高级设置」
  • 在「常规」分类下找到「启动模式」,把它改成 OnDemand
  • 确认保存后,再手动停止一次应用池测试效果

2. 检查关联网站的预加载和启动设置

应用池是和网站绑定的,如果对应网站开启了预加载或者设置了自动启动,也会触发应用池重启:

  • 找到应用池绑定的目标网站,右键 → 「高级设置」
  • 把「预加载已启用」改成 False
  • 同时手动停止该网站(网站的运行状态会直接关联应用池的启动)

3. 排查外部监控工具或脚本

很多服务器会部署运维监控软件、定时脚本,这些工具可能会定期检查应用池状态,发现停止就自动启动。

你可以:

  • 打开服务器的「任务计划程序」,看看有没有定时执行的启动应用池脚本
  • 检查运维监控平台的规则,是否有针对这个应用池的自动恢复配置
  • 查看服务器上的第三方管理工具,确认没有自动重启应用池的设置

4. 直接修改applicationHost.config配置文件(进阶操作)

如果GUI设置没生效,可以直接修改IIS的核心配置文件:

  • 找到路径 C:\Windows\System32\inetsrv\config\applicationHost.config(需要管理员权限打开)
  • 搜索你的应用池名称,找到对应的<add>节点
  • 确保配置里包含 startMode="OnDemand",如果想彻底禁止IIS重启时自动启动该池,可以把 autoStart 设为 false
  • 保存文件后,IIS会自动加载新配置

5. 禁用Application Initialization模块(按需操作)

如果你的服务器安装了Application Initialization模块,它会自动启动应用池来预加载站点内容。如果不需要这个功能:

  • 打开「服务器管理器」→ 「添加角色和功能」
  • 找到Web服务器下的「Application Initialization」,取消勾选并卸载该模块(注意:如果其他站点依赖这个功能,谨慎操作)

另外还有个小细节:检查所有站点的应用池分配,确保没有其他站点意外绑定到这个应用池,避免被其他站点的请求触发启动。

内容的提问来源于stack exchange,提问作者Turpan

火山引擎 最新活动