首页 > 其他分享 >apache 使用 mod_fcgid.so模块时 配置指令

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

时间:2023-06-08 21:03:58浏览次数:57  
标签:默认 语法 进程 指令 so apache 服务器 php fcgid



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


 



标签:默认,语法,进程,指令,so,apache,服务器,php,fcgid
From: https://blog.51cto.com/u_16131207/6443265

相关文章

  • Jmeter 响应结果提取json表达式
    JSONPathexpression:JSON表达式,通过JSON表达式提取数据对响应结果提取json,下拉选择JsonPahtTester.  JSON表达式语法:"$"代表提取根节点的数据$.a代表从根节点开始,寻找根节点的子节点a,并提取a的数据$.a.b代表从根节点开始,寻找根节点的子节点a,然后寻找a的子节点b,并......
  • 安装配置Apache支持https和fcgi
     Apache安装及配置1.1 下载软件1、Apr :(wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.1.tar.gz)2、Apr-util :(wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz)3、Pcre :(wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre......
  • 解析apache的httpd.conf配置内容
    ServerRoot“/usr/local“ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下。ScoreBoardFile/var/run/......
  • ALSA(Advanced Linux Sound Architecture)声卡编程介绍
    英文原文:http://www.linuxjournal.com/article/6735period(周期):硬件中中断间的间隔时间。它表示输入延时。声卡接口中有一个指针来指示声卡硬件缓存区中当前的读写位置。只要接口在运行,这个指针将循环地指向缓存区中的某个位置。framesize=sizeof(onesample)*nChannel......
  • 利用MOSS的SSO实现单点登陆[代码]-zt
    在这部分中,我将向大家介绍怎么来取得存放在SSO数据库中的用户名和密码,并使用它们进行POST提交登陆。  思路是这样的,在MOSS中创建一个aspx页面,重写这个页面的Page_Load事件,也许你会说,MOSS页面里不能使用服务器端代码,鸡蛋石头飞来~~~呵呵,关于这方面的介绍,请参考我的另一个帖子......
  • Google colab 更改Tensorflow深度学习框架版本
    Googlecolab默认导入的tensorflow版本是2.0想,想更改tensorflow版本为1.x则需要加入%tensorflow_version1.ximporttensorflowastftf.__version__之后要进行colab的重启,即可完成版本改装,由于colab没有terminal,所以只能这么修改。欢迎登陆官网(附https://tensorflow.google.cn/)......
  • 深度学习项目之mnist手写数字识别实战(TensorFlow框架)
    mnist手写数字识别是所有深度学习开发者的必经之路,mnist数据集的图片十分简单,是二值化图像,像素个数为28x28。所以对于所有研究深度学习的开发者来说学会mnist数据集的模型十分有必要。以此为实例进行计算机视觉如何进行识别出图片中的数据。MNIST手写数字数据集来自美国国家标准与......
  • web接收websocket
    data(){return{websock:null,wsuri:"ws://192.168.2.22:8025/test/fff",//WebSocket的后台地址actiones:{ssid:"fff"},//传入后台的数据};},created(){this.initWebSocket();//开启WebSocket},destroyed(......
  • js数组sort方法排序
    数组的sort方法可以对数组进行排序,默认是按照字符编码的顺序进行排序,可以自定义规则。sort方法会修改原数组。自定义规则简述:比较函数两个参数a和b,(a是b的后一个元素),返回a-b升序,返回b-a降序。letarr=[3,5,2,9,1];arr.sort();//默认升序arr.sort((a,b)=>{//......
  • 关于The JSON value could not be converted to System.DateTime的解决方案
    如下json格式提交到后台后报:TheJSONvaluecouldnotbeconvertedtoSystem.DateTime.Path:$.beginTime|LineNumber:3|BytePositionInLine:33.{"beginTime":"2023-06-08T08:00:00"}造成这个错误的原因为程序无法正常解析该json,主要是为了提升执行效率;Sys......