ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Apache模块 mod_cgid | [说明](#calibre_link-11) | 在线程型MPM(`worker`)上用一个外部CGI守护进程执行CGI脚本 | | --- | --- | | [状态](#calibre_link-12) | 基本(B) | | [模块名](#calibre_link-13) | cgid_module | | [源文件](#calibre_link-14) | mod_cgid.c | | [兼容性](#calibre_link-58) | 仅用于Unix系统上的线程型MPM | ### 概述 除了优化和下面额外的`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守护进程通信的套接字文件名前缀。 ## ScriptSock 指令 | [说明](#calibre_link-18) | 用来与CGI守护进程通信的套接字文件名前缀 | | --- | --- | | [语法](#calibre_link-19) | `ScriptSock file-path` | | [默认值](#calibre_link-24) | `ScriptSock logs/cgisock` | | [作用域](#calibre_link-20) | server config, virtual host | | [状态](#calibre_link-21) | 基本(B) | | [模块](#calibre_link-22) | mod_cgid | 此指令设置用来与CGI守护进程通信的套接字文件名前缀(其后附加父进程PID组成完整的文件名)。这个套接字将会用启动Apache服务器的父进程用户权限(通常是root)打开。为了维护与CGI脚本通讯的安全性,不允许其他用户拥有写入套接字所在目录的权限是很重要的。 ### 示例 ``` ScriptSock /var/run/cgid.sock ```