<-
Apache > HTTP服务器 > 文档 > V2.0 > 模块

Apache模块 mod_cgid

说明在线程型的MPM上用一个外部CGI守护进程执行CGI脚本
状态Base
模块名cgid_module
源文件mod_cgid.c
兼容性只用于Unix线程化的多路处理模块

概述

除了优化和下面提到的附加ScriptSock指令,mod_cgid表现得与mod_cgi非常相似。参见mod_cgi以了解关于Apache和CGI的信息细节。

在特定的unix操作系统上,从一个多线程服务器fork一个进程是非常昂贵的操作,因为新进程会复制其父进程的所有线程。为了避免每个CGI调用都导致产生这样的开销,mod_cgid创建一个外部守护进程来负责fork子进程以运行CGI脚本。主服务器使用unix domain套接字与这个守护进程通信。

只要编译时选择了多线程型的MPM支持,这个模块就会默认地被使用来代替mod_cgi。在用户层面,此模块在配置和操作上与mod_cgi是一样的。唯一的例外是有一个额外的指令ScriptSock给出了用于与cgi守护进程通信的套接字名字。

top

ScriptSock 指令

说明用来与CGI守护进程通信的套接字名字
语法ScriptSock file-path
默认值ScriptSock logs/cgisock
作用域server config, virtual host
状态Base
模块mod_cgid

此指令设置用来与CGI守护进程通信的套接字的名字。这个套接字将会用启动Apache服务器的父进程用户权限(通常是root)打开。为了维护与CGI脚本通讯的安全性,不允许其他用户拥有写入套接字所在目录的权限是很重要的。

例子

ScriptSock /var/run/cgid.sock