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


FcgidBusyScanInterval指令


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


语法: FcgidBusyScanInterval seconds


默认:FcgidBusyScanInterval
120


环境: 服务器配置


状态:外部


对应的老指令:BusyScanInterval

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


FcgidBusyTimeout
指令


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


语法: FcgidBusyTimeout seconds


默认:FcgidBusyTimeout
300


环境: 服务器配置,虚拟主机


状态:外部


对应的老指令:BusyTimeout

这是处理请求的最大时间限制。如果FastCGI请求超过了FcgidBusyTimeou设置的秒数,请求将会终止。而检查进行的时间将由FcgidBusyScanInterval定义,请求处理在设置的时间内有效。本指令的目的是终止挂起的应用程序。默认的超时时间,可能需要增加应用程序,可以采取更长的时间来处理请求。

<ifmodulemod_fcgid.c>

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

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

</ifmodule>


FcgidConnectTimeout指令


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


语法: FcgidConnectTimeout seconds


默认:FcgidConnectTimeout 3


环境: 服务器配置,虚拟主机


状态:外部


对应的老指令:IPCConnectTimeout

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

 


FcgidErrorScanInterval指令


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


语法: FcgidErrorScanInterval seconds


默认:FcgidErrorScanInterval3


环境: 服务器配置


状态:外部


对应的老指令:ErrorScanInterval

这是间隔模块将处理挂起的进程终止。 终止其中已超过FcgidIdleTimeoutFcgidProcessLifeTime任何进程正在等待


FcgidIdleScanInterval指令


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


语法: FcgidIdleScanInterval seconds


默认:FcgidFixPathinfo120


环境: 服务器配置


状态:外部


对应的老指令:IdleScanInterval

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


FcgidIdleTimeout 指令


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


语法: FcgidIdleTimeout seconds


默认:FcgidIdleTimeout
300


环境: 服务器配置


状态:外部


对应的老指令:IdleTimeout

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

<ifmodulemod_fcgid.c>

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

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

</ifmodule>


FcgidInitialEnv 指令


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


语法: FcgidInitialEnv name [ value ]


默认:none


环境: 服务器配置


状态:外部


对应的老指令:DefaultInitEnv

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

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

# php.ini文件位置

FcgidInitialEnvPHPRC "C:/Progra~1/PHP"

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

# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出

FcgidInitialEnvPHP_FCGI_MAX_REQUESTS 1000

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

#windows的path设置

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的服务器通信超时


语法: FcgidIOTimeout seconds


默认:FcgidIOTimeout
40


环境: 服务器配置


状态:外部


对应的老指令:IPCCommTimeout

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


FcgidFixPathinfo 指令


说明:
镜像PHP cgi.fix_pathinfo设置


语法: FcgidFixPathinfo 1


默认:FcgidFixPathinfo0


环境: 服务器配置


状态:外部


对应的老指令:PHP_Fix_Pathinfo_Enable

默认是不支持pathinfo模式,只支持普通的url访问模式,如果在这里用了这个指令,将会用到php.ini里面的设置,如下:

cgi.fix_pathinfo=1

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


FcgidMaxProcesses 指令


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


语法: FcgidMaxProcesses value


默认:FcgidMaxProcesses
1000


环境: 服务器配置


状态:外部


对应的老指令:MaxProcessCount

这个指令设置了在运行程序的时候可以一次性激活最大数量的FastCGI进程。你有更多的RAM,您可以设定值越高。


FcgidMaxProcessesPerClass指令


说明:
每个虚拟主机可以最大开启多少个FCGI进程


语法: FcgidMaxProcessesPerClass value


默认:FcgidMaxProcessesPerClass
100


环境: 服务器配置


状态:外部


对应的老指令:DefaultMaxClassProcessCount

默认为100,每台虚拟主机可以最大可以开启100个Fastcgi进程,即单一的客户可以有100
PHP同时服务请求。我会建议值从8到20。注:如果有更多的请求在同一时间,他们将被排队,而不是拒绝。(值的大小不能大于FcgidMaxProcesses设置的值)


FcgidMinProcessesPerClass指令


说明:
与FcgidMaxProcessesPerClass相反


语法: FcgidMaxProcessesPerClass value


默认:FcgidMaxProcessesPerClass3


环境: 服务器配置


状态:外部

应始终为0


FcgidMaxRequestInMem指令


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


语法: FcgidMaxRequestInMem bytes


默认:FcgidMaxRequestInMem
65536


环境: 服务器配置


状态:外部

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


FcgidMaxRequestLen 指令


说明: Http请求的最大长度


语法: FcgidMaxRequestLen bytes


默认:FcgidMaxRequestLen
131072


环境: 服务器配置


状态:外部

如果Http请求大小超过这一数额,请求将失败,将出现500 Server Error。的错误 ,一般在上传文件的时候出现.

警告:在2.3.6以前默认是1GB,现在默认是128K,
用户应该使用这个指令设置更合理的限制.例如我使用的2.3.6,就应该用这个参数进行设置可以上传更大的数据。

 


FcgidMaxRequestsPerProcess指令


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


语法: FcgidMaxRequestsPerProcess value


默认:FcgidMaxRequestsPerProcess
0


环境: 服务器配置,虚拟主机


状态:外部

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

 


FcgidOutputBufferSize指令


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


语法: FcgidOutputBufferSize bytes


默认:FcgidOutputBufferSize
65536


环境: 服务器配置,虚拟主机


状态:外部

设置cgi缓冲区的大小.

 


FcgidProcessLifeTime指令


说明: CGI进程的生存时间


语法: FcgidOutputBufferSize bytes


默认:FcgidOutputBufferSize
65536


环境: 服务器配置,虚拟主机


状态:外部

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

 


FcgidSpawnScoreUpLimit指令


说明:
允许进程生成速度的控制值


语法: FcgidSpawnScoreUpLimit value


默认:FcgidSpawnScoreUpLimit 10


环境: 服务器配置


状态:外部

生成速度控制值。当一个进程产生或终止,此数值会增加,并且随着时间的推移而减少增加的程度;当此数值高于FcgidSpawnScoreUpLimit时,正在产生的进程会稍停一会,只到现有的进程空闲或FcgidSpawnScoreUpLimit的值低于设定的值。此数据越高,生成进程的速度将越快。

 

 


FcgidSpawnScore 指令


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


语法: FcgidSpawnScore value


默认:FcgidSpawnScore
1


环境: 服务器配置


状态:外部

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

 

 


FcgidTerminationScore指令


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


语法:FcgidTerminationScore value


默认:FcgidTerminationScore
2


环境: 服务器配置


状态:外部

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

 


FcgidTimeScore 指令


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


语法:FcgidTimeScore value


默认:FcgidTimeScore
1


环境: 服务器配置


状态:外部

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

 


FcgidWrapper 指令


说明: CGI程序位置的设置


语法:FcgidWrapper command [ suffix ]
[ virtual ]


默认:none


环境: 服务器配置


状态:外部

一般用来指定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


环境: 服务器配置


状态:外部

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

 

 

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类型的程序。

 

时间: 2024-11-08 19:32:11

apache 使用 mod_fcgid.so模块时 配置指令的相关文章

Nginx 配置指令的执行顺序(八)

前面我们详细讨论了 rewrite.access 和 content 这三个最为常见的 Nginx 请求处理阶段,在此过程中,也顺便介绍了运行在这三个阶段的众多 Nginx 模块及其配置指令.同时可以看到,请求处理阶段的划分直接影响到了配置指令的执行顺序,熟悉这些阶段对于正确配置不同的 Nginx 模块并实现它们彼此之间的协同工作是非常必要的.所以接下来我们接着讨论余下的那些阶段. 前面在 (一) 中提到,Nginx 处理请求的过程一共划分为 11 个阶段,按照执行顺序依次是 post-read

Nginx 配置指令的执行顺序(一)

大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个 location 配置块使用了多个 Nginx 模块的配置指令时,这些指令的执行顺序很可能会跟它们的书写顺序大相径庭.于是许多人选择了“试错法”,然后他们的配置文件就时常被改得一片狼藉.这个系列的教程就旨在帮助读者逐步地理解这些配置指令背后的执行时间和先后顺序的奥秘. 现在就来看这样一个令人困惑的例子:     ? location /test {    ?     set $a 32;    ?     echo $a;    

modsecurity配置指令学习

事务(transactions) Console(控制台) 1 Introduction Modsecurity是保护网络应用安全的工作.不,从零开始.我常称modsecurity为WAF(网络应用防火墙),这是种被广泛接受的叫法,它指的是为保护网络应用而专门设计的产品族.也有些时候我称它为HTTP入侵检测工具,我认为这个称呼更好的描述了modsecurity做了什么. Understanding ModSecurity 像Apache为其他模块所做的一样,Apache为modsecurity处

NGINX基本模块与配置

一.NGINX内置的基本模块 1.NGINX内核模块 2.EVENTS模块 3.HTTP核心模块 二.NGINX基本配置文件 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } htt

九爷带你了解 nginx 日志配置指令详解

nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_found.log_subrequest.rewrite_log.error_log. nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义.ngx_http_log_module是用来定义请求日志格式的. 1. access_l

Apache的各种优化以及安全配置详解

简介: Apache所运行的硬件环境都是对性能影响最大的因素,即使不能对硬件进行升级,也最好给Apache一个单独的主机以免受到其他应用的干扰.各个硬件指标中,对性能影响最大的是内存,对于静态内容(图片.JavaScript文件.css文件等).它决定了Apache可以缓存多少内容,它缓存的内容越多,在硬盘上读取内容的机会就会越少,大内存可以极大提高静态站点的速度: 对动态高负载站点来说,每个请求保存的时间更多一些,Apache的mpm模块会为每个请求派生出相应的进程或线程分别处理,而进程或线程

Apache 正向代理与反向代理配置

Apache提供了 mod_proxy 模块用于提供代理服务,能够支持的包括正向代理.反向代理.透明代理.缓存.负载均衡,HTTP代理.FTP代理.SSL代理等若干强大的功能. 配置代理方法很简单那,首先在 Apache 上启用 mod_proxy 模块,需要注意的是,如果在 Apache-2.2 上,则还需要加载名为 mod_proxy_http 的模块.因为 2.2 系列把代理功能都拆分成N个小模块了. 一般 Apache 的这些功能我们在编译的时候都是以模块的形式加入的,编译时加上相关参数

Nginx 配置指令location 匹配符优先级和安全问题【转】

Nginx配置指令location匹配符优先级和安全问题 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";"号,语句块用"{}"括起来.配制好,直接nginx -t 检查配制情况,配制成功,直接运行:service nginx reload.服务器没有任何宕机情况下,实现平稳修改配置.最近一直在做location 配置,遇到优先级别问题(如果配置不当可能存在安全隐患哦),以下是个人学习一

Nginx 配置指令的执行顺序(十一)

紧跟在 post-access 阶段之后的是 try-files 阶段.这个阶段专门用于实现标准配置指令 try_files 的功能,并不支持 Nginx 模块注册处理程序.由于 try_files 指令在许多 FastCGI 应用的配置中都有用到,所以我们不妨在这里简单介绍一下. try_files 指令接受两个以上任意数量的参数,每个参数都指定了一个 URI. 这里假设配置了 N 个参数,则 Nginx 会在 try-files 阶段,依次把前 N-1 个参数映射为文件系统上的对象(文件或者