apache 使用 mod_fcgid.so模块时 配置指令


FcgidBusyScanInterval指令

说明:扫描繁忙超时进程的间隔

语法FcgidBusyScanInterval seconds

默认FcgidBusyScanInterval 120

环境: server配置

状态外部

相应的老指令:BusyScanInterval

该模块将运行FcgidBusyTimeout检查,在此区间。

FcgidBusyTimeout 指令

说明: 杀死处理请求超过FcgidBusyTimeout设置的时间后的FastCGI应用程式

语法FcgidBusyTimeout seconds

默认:FcgidBusyTimeout 300

环境: server配置。虚拟主机

状态:外部

相应的老指令:BusyTimeout

这是处理请求的最大时间限制。

假设FastCGI请求超过了FcgidBusyTimeou设置的秒数。请求将会终止。而检查进行的时间将由FcgidBusyScanInterval定义,请求处理在设置的时间内有效。本指令的目的是终止挂起的应用程序。默认的超时时间,可能须要添加应用程序,能够採取更长的时间来处理请求。

<ifmodulemod_fcgid.c>

FcgidBusyScanInterval120   #FcgidBusyTimeout相应,每120秒进行一次检查

FcgidBusyTimeout 300  #超过300秒的fastcgi请求将被终止

</ifmodule>

 

 

FcgidConnectTimeout指令

说明: Fastcgi的服务在等待设置的时间參数后超时(Fastcgi连接超时)

语法FcgidConnectTimeout seconds

默认:FcgidConnectTimeout 3

环境: server配置。虚拟主机

状态:外部

相应的老指令:IPCConnectTimeout

这是Fastcgi这个模块在windows中当它试图连接一个应用的时候设置的一个最大的周期时间。当等待时间超过了这个时间,将会出现超时。(此指令不适应在UNIX)

 

 

FcgidErrorScanInterval指令

说明: 在间隔的时间内进行扫描退出挂起的进程

语法FcgidErrorScanInterval seconds

默认:FcgidErrorScanInterval3

环境: server配置

状态:外部

相应的老指令:ErrorScanInterval

这是间隔模块将处理挂起的进程终止。

 终止当中已超过FcgidIdleTimeoutFcgidProcessLifeTime不论什么进程正在等待

 

FcgidIdleScanInterval指令

说明: 空暇超时过程的扫描间隔

语法FcgidIdleScanInterval seconds

默认:FcgidFixPathinfo120

环境: server配置

状态:外部

相应的老指令:IdleScanInterval

在这个设置的时间间隔内。在该模块将搜索过程已超过FcgidIdleTimeoutFcgidProcessLifeTime设置的最大有效时间,超过这个时间的进程将会终止。

 

FcgidIdleTimeout 指令

说明: 空暇的Fastcgi程序在超过设置的时间后将会被杀死

语法FcgidIdleTimeout seconds

默认:FcgidIdleTimeout 300

环境: server配置

状态:外部

相应的老指令:IdleTimeout

超过了设置的这个闲置的时间,没有处理请求的的Fastcgi程序将会被终止.空暇进程的检查与上面的FcgidIdleScanInterval一起配合使用.

<ifmodulemod_fcgid.c>

FcgidIdleScanInterval 120  #FcgidIdleTimeout相应,每120秒进行一次检查

FcgidIdleTimeout 300 #超过300秒的fastcgi空暇进程将被终止

</ifmodule>

 

FcgidInitialEnv 指令

说明: 将环境变量的值和一些可选值传给Fastcgi

语法FcgidInitialEnv name [ value ]

默认:none

环境: server配置

状态:外部

相应的老指令:DefaultInitEnv

使用FcgidInitialEnv定义环境变量传递到FastCGI的应用程序。这个指令能够多次使用

//-------------------------------------------------------//

# php.ini文件位置

FcgidInitialEnvPHPRC "C:/Progra~1/PHP"

//------------------------------------------------------//

设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理全然部请求前退出

FcgidInitialEnvPHP_FCGI_MAX_REQUESTS 1000

//-------------------------------------------------------//

#windowspath设置

 FcgidInitialEnvPATH"D:/usr/local/php5;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"

//-----------------------------------------------------//

#操作系统文件夹

 FcgidInitialEnvSystemRoot "C:/Windows"
 //----------------------------------------------------//

#系统盘

FcgidInitialEnvSystemDrive "C:"

//-----------------------------------------------------//

#暂时目录

FcgidInitialEnvTEMP "C:/WINDOWS/TEMP"
//----------------------------------------------------//

#存放暂时文件的目录

FcgidInitialEnv TMP"C:/WINDOWS/TEMP"
//-----------------------------------------------------//

#操作系统安装文件夹

FcgidInitialEnvwindir "C:/WINDOWS"

 

 

FcgidProcessLifeTime 

 

FcgidIOTimeout 指令

说明: FastCGI的server通信超时

语法FcgidIOTimeout seconds

默认:FcgidIOTimeout 40

环境: server配置

状态:外部

相应的老指令:IPCCommTimeout

试图读或者写的Fastcgi应用将在设置的时间内等待进行工作

 

 

FcgidFixPathinfo 指令

说明: 镜像PHP cgi.fix_pathinfo设置

语法FcgidFixPathinfo 1

默认:FcgidFixPathinfo0

环境: server配置

状态:外部

相应的老指令:PHP_Fix_Pathinfo_Enable

默认是不支持pathinfo模式,仅仅支持普通的url訪问模式。假设在这里用了这个指令,将会用到php.ini里面的设置,例如以下:

cgi.fix_pathinfo=1

pathinfo模式指非传统的URL訪问模式,如伪静态,rewrite

 

FcgidMaxProcesses 指令

说明: php-cgi最大的进程数

语法FcgidMaxProcesses value

默认:FcgidMaxProcesses 1000

环境: server配置

状态:外部

相应的老指令:MaxProcessCount

这个指令设置了在执行程序的时候能够一次性激活最大数量的FastCGI进程。你有很多其它的RAM,您能够设定值越高。

 

FcgidMaxProcessesPerClass指令

说明: 每一个虚拟主机能够最大开启多少个FCGI进程

语法FcgidMaxProcessesPerClass value

默认:FcgidMaxProcessesPerClass 100

环境: server配置

状态:外部

相应的老指令:DefaultMaxClassProcessCount

默觉得100,每台虚拟主机能够最大能够开启100Fastcgi进程。即单一的客户能够有100 PHP同一时候服务请求。我会建议值从820注:假设有很多其它的请求在同一时间,他们将被排队。而不是拒绝

(值的大小不能大于FcgidMaxProcesses设置的值)

 

FcgidMinProcessesPerClass指令

说明: FcgidMaxProcessesPerClass相反

语法FcgidMaxProcessesPerClass value

默认:FcgidMaxProcessesPerClass3

环境: server配置

状态:外部

应始终为0

 

FcgidMaxRequestInMem指令

说明: 每一个请求保存在内存中的最大尺寸

语法FcgidMaxRequestInMem bytes

默认:FcgidMaxRequestInMem 65536

环境: server配置

状态:外部

该模块从client读取整个请求体,然后将其发送到应用程序。 通常情况下。在请求体将被存储在内存中。一旦从client读取请求体的量超过FcgidMaxRequestInMem设置的字节,请求体中的其余部分将被存储在暂时文件里。

 

FcgidMaxRequestLen 指令

说明: Http请求的最大长度

语法FcgidMaxRequestLen bytes

默认:FcgidMaxRequestLen 131072

环境: server配置

状态:外部

假设Http请求大小超过这一数额。请求将失败,将出现500 Server Error

的错误 ,一般在上传文件的时候出现.

警告:在2.3.6曾经默认是1GB,如今默认是128K, 用户应该使用这个指令设置更合理的限制.比如我使用的2.3.6,就应该用这个參数进行设置能够上传更大的数据。

 

FcgidMaxRequestsPerProcess指令

说明: php-cgi每一个进程的最大请求数

语法FcgidMaxRequestsPerProcess value

默认:FcgidMaxRequestsPerProcess 0

环境: server配置。虚拟主机

状态:外部

FastCGI应用程序进程处理请求的最大数目。 0禁止检查。

 

FcgidOutputBufferSize指令

说明: CGI输出缓冲区的大小

语法FcgidOutputBufferSize bytes

默认:FcgidOutputBufferSize 65536

环境: server配置,虚拟主机

状态:外部

设置cgi缓冲区的大小.

 

FcgidProcessLifeTime指令

说明: CGI进程的生存时间

语法FcgidOutputBufferSize bytes

默认:FcgidOutputBufferSize 65536

环境: server配置,虚拟主机

状态:外部

大于这个时间空暇的已经存在的PHP-CGI进程将被终止,假设进程数量超过FcgidMinProcessesPerClass的设置  0禁止检查。这个过程中的生存时间进行检查上面的频率配置的FcgidIdleScanInterval

 

FcgidSpawnScoreUpLimit指令

说明: 同意进程生成速度的控制值

语法FcgidSpawnScoreUpLimit value

默认:FcgidSpawnScoreUpLimit 10

环境: server配置

状态:外部

生成速度控制值。当一个进程产生或终止,此数值会添加。而且随着时间的推移而降低添加的程度;当此数值高于FcgidSpawnScoreUpLimit时,正在产生的进程会稍停一会,仅仅到现有的进程空暇或FcgidSpawnScoreUpLimit的值低于设定的值

此数据越高,生成进程的速度将越快。

 

 

FcgidSpawnScore 指令

说明: 进程生成速度的权重

语法: FcgidSpawnScore value

默认:FcgidSpawnScore 1

环境: server配置

状态:外部

生成速度权重。对每个进程来讲。这个数值会加上生成速度控制值(FcgidSpawnScoreUpLimit)。这个值越大。CGI生成速度越快。

 

 

FcgidTerminationScore指令

说明: 添加每一个终止进程活动的值

语法FcgidTerminationScore value

默认:FcgidTerminationScore 2

环境: server配置

状态:外部

消亡权重。这个值越大。CGI进程生成速度越慢。

 

FcgidTimeScore 指令

说明: 减去进程活动的值的的每一秒(设置的值)

语法FcgidTimeScore value

默认:FcgidTimeScore 1

环境: server配置

状态:外部

值越高。进程的生产率就越高。

 

FcgidWrapper 指令

说明: CGI程序位置的设置

语法FcgidWrapper command [ suffix ] [ virtual ]

默认:none

环境: server配置

状态:外部

一般用来指定php-cgi路径

LoadModulefcgid_module modules/mod_fcgid.so

<IfModulemod_fcgid.c>

FcgidWrapper"C:/Progra~1/PHP/php-cgi.exe"

</IfModule>

 

 

FcgidZombieScanInterval指令

说明: 僵尸进程的扫描间隔

语法FcgidZombieScanInterval seconds

默认:FcgidZombieScanInterval 3

环境: server配置

状态:外部

扫描僵尸进程的时间间隔。

 

 

FastCgi基本配置

以下是一个最主要的FastCgi配置

mod_fcgid.so拷贝到Apache安装文件夹以下的modules文件夹,打开httpd.conf,加入以下内容(位置随意):

LoadModulefcgid_module modules/mod_fcgid.so

<IfModulemod_fcgid.c>

AddHandlerfcgid-script .fcgi .php

# php.ini文件位置

FcgidInitialEnvPHPRC "C:/Progra~1/PHP"

设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理全然部请求前退出

FcgidInitialEnvPHP_FCGI_MAX_REQUESTS 1000

# php-cgi每一个进程的最大请求数

FcgidMaxRequestsPerProcess1000

# php-cgi最大的进程数

FcgidMaxProcesses5

最大运行时间

FcgidIOTimeout 120

FcgidIdleTimeout120

#php-cgi路径

FcgidWrapper"C:/Progra~1/PHP/php-cgi.exe"

# Define theMIME-Type for".php" files

AddTypeapplication/x-httpd-php .php

#定义cgi请求的长度

FcgidMaxRequestLen 1500000

</IfModule>

 

:

1.  AddHandler指令

说明:在文件扩展名与特定的处理器之间建立映射

AddHandlerfcgid-script .fcgi .php

上面语句的解释是:一旦将上述定义放在你的http.conf文件里,全部包括.fcgi,.php扩展名的文件。都会被当成是FCGID程序。

 

2. AddType 指令

说明:在给定的文件扩展名与特定的内容类型之间建立映射

AddTypeapplication/x-httpd-php .php

上面语句的解释是:一旦将上述定义放在你的http.conf文件里。全部包括.php扩展名的文件,都会被当成是PHP类型的程序。

 


原文地址:https://www.cnblogs.com/yjbjingcha/p/6971675.html