一键配置 IIS FastCGI 自动回收的 PowerShell 脚本指南

 

在 Windows Server 环境中,运行 PHP 等应用时,通常需要依赖 IIS + FastCGI 的方式来提供 Web 服务。但在长期运行的过程中,FastCGI 进程可能会出现 内存泄漏、性能下降或响应变慢 的情况。为了避免频繁手动结束进程,我们可以通过 自动回收 FastCGI 进程 来保持网站的稳定与高效。

本文将介绍一个 一键应用配置的 PowerShell 脚本,帮助管理员快速完成 FastCGI 的自动回收设置。


为什么需要自动回收 FastCGI?

在 IIS 环境中,FastCGI 进程管理器会负责维护 PHP 等脚本解释器的运行。随着时间推移,这些进程可能会:

  • 占用越来越多的内存,导致服务器整体性能下降

  • 响应时间逐渐变慢,影响用户访问体验

  • 出现错误但无法自动恢复

通过 配置自动回收策略,我们可以让 FastCGI 进程在达到一定条件(例如运行时间、请求数、内存占用)时自动退出并重启,从而保持服务稳定。


手动配置方式(传统方法)

在 IIS 管理器中,可以通过以下路径设置回收策略:

  1. 打开 IIS 管理器

  2. 进入 FastCGI 设置

  3. 选择对应的 PHP FastCGI 条目

  4. 点击 编辑,设置以下参数:

    • instanceMaxRequests(最大请求数,例如 10000)

    • activityTimeout(活动超时,例如 600 秒)

    • requestTimeout(请求超时,例如 600 秒)

    • monitorChangesTo(配置文件变化时自动回收,例如 php.ini)

但是手动配置繁琐,如果服务器较多,就显得低效。


一键应用的 PowerShell 脚本

为了解决上述问题,可以使用 PowerShell 脚本一次性完成配置。

# 一键配置 IIS FastCGI 自动回收策略
Import-Module WebAdministration

# 指定 FastCGI 程序路径(根据实际情况修改)
$fastcgiExe = "C:\php\php-cgi.exe"

# 设置 FastCGI 自动回收配置
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' `
  -filter "system.webServer/fastCgi/application[@fullPath='$fastcgiExe']" `
  -name "instanceMaxRequests" -value 10000

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' `
  -filter "system.webServer/fastCgi/application[@fullPath='$fastcgiExe']" `
  -name "activityTimeout" -value 600

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' `
  -filter "system.webServer/fastCgi/application[@fullPath='$fastcgiExe']" `
  -name "requestTimeout" -value 600

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' `
  -filter "system.webServer/fastCgi/application[@fullPath='$fastcgiExe']" `
  -name "monitorChangesTo" -value "C:\php\php.ini"

Write-Host "✅ FastCGI 自动回收策略已成功应用!"

使用方法

  1. 将上述脚本保存为 Set-FastCGIRecycle.ps1

  2. 使用 管理员权限 打开 PowerShell

  3. 运行:

.\Set-FastCGIRecycle.ps1

执行完成后,系统会立即更新 IIS FastCGI 的配置,无需手动操作。


总结

通过本文的 PowerShell 脚本,管理员可以快速为 IIS 环境中的 FastCGI 配置 自动回收策略,避免长期运行带来的性能问题。相比手动设置,脚本方式更加高效,也便于批量应用到多台服务器。

如果你的服务器运行 PHP 网站,并且遇到过 访问变慢、内存占用过高 的情况,那么强烈推荐使用该脚本进行优化。

No comments

公司简介

 

自1996年以来,公司一直专注于域名注册、虚拟主机、服务器托管、网站建设、电子商务等互联网服务,不断践行"提供企业级解决方案,奉献个性化服务支持"的理念。作为戴尔"授权解决方案提供商",同时提供与公司服务相关联的硬件产品解决方案。
备案号: 豫ICP备05004936号-1

联系方式

地址:河南省郑州市经五路2号

电话:0371-63520088

QQ:76257322

网站:800188.com

电邮:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。