Apache 模块 mod_cgid

Description: 使用外部 CGI 守护程序执行 CGI 脚本
Status: Base
Module Identifier: cgid_module
Source File: mod_cgid.c
Compatibility: 仅限 Unix 线程 MPM

Summary

除了优化和下面提到的其他ScriptSock指令外,mod_cgid的行为与mod_cgi相似。 有关 Apache 和 CGI 的其他详细信息,请参见mod_cgi摘要.

在某些 UNIX os 上,从多线程服务器派生一个进程是非常昂贵的操作,因为新进程将复制父进程的所有线程。为了避免在每次 CGI 调用时产生此费用,mod_cgid创建了一个外部守护程序,该守护程序负责派生子进程来运行 CGI 脚本。主服务器使用 unix 域套接字与此守护程序通信。

在编译过程中选择多线程 MPM 时,默认情况下使用此模块,而不是mod_cgi。在用户级别,此模块的配置和操作与mod_cgi相同。唯一的 exception 是附加指令ScriptSock,该指令给出了用于与 cgi 守护程序通信的套接字的名称。

CGIDScriptTimeout Directive

Description: await CGI 程序更多输出的时间
Syntax: CGIDScriptTimeout time[s|ms]
Default: 未设置或设置为 0 时Timeout指令的值
Context: 服务器配置,虚拟主机,目录,.htaccess
Status: Base
Module: mod_cgid
Compatibility: 在 httpd 2.4.10 及更高版本中可用;在以前的版本中,没有应用超时

该指令限制了 await CGI 程序更多输出的时间。如果超过了时间,则请求和 CGI 将终止。

Example

CGIDScriptTimeout 20

ScriptSock Directive

Description: 用于与 cgi 守护程序通信的套接字的文件名前缀
Syntax: ScriptSock file-path
Default: ScriptSock cgisock
Context: server config
Status: Base
Module: mod_cgid

该指令设置用于与 CGI 守护程序通信的套接字的文件名前缀,将附加与服务器的进程 ID 对应的 extensions。套接字将使用启动 Apache 的用户(通常是 root)的权限打开。为了维护使用 CGI 脚本进行通信的安全性,重要的是没有其他用户有权在套接字所在的目录中进行写操作。

如果 file-path 不是绝对路径,则指定的位置将相对于DefaultRuntimeDir的值。

Example

ScriptSock /var/run/cgid.sock
首页