• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mod_cgid

    描述:使用外部 CGI 守护程序执行 CGI 脚本
    状态:Base
    模块标识符:cgid_module
    源文件:mod_cgid.c
    兼容性:仅限 Unix 线程 MPM

    摘要

    除了下面提到的优化和附加ScriptSock指令外,mod_cgid的行为与mod_cgi类似。有关 Apache 和 CGI 的更多详细信息,请参阅 mod_cgi 摘要.

    在某些 unix 操作系统上,从 multi-threaded 服务器分支 process 是一项非常昂贵的操作,因为新的 process 将复制 parent process 的所有线程。为了避免在每次 CGI 调用中产生这笔费用,mod_cgid创建了一个外部守护程序,负责将子进程分配给 run CGI 脚本。主服务器使用 unix 域 socket 与此守护进程通信。

    在编译 process 期间选择 multi-threaded MPM 时,默认使用此模块而不是mod_cgi。在用户 level 中,此模块在 configuration 和mod_cgi操作中完全相同。唯一的 exception 是附加指令ScriptSock,它给出 socket 的 name 用于与 cgi 守护进程的通信。

    CGIDScriptTimeout 指令

    描述:等待来自 CGI 程序的更多输出的 time 的长度
    句法:CGIDScriptTimeout time[s\|ms]
    默认:未设置时指令的 value
    Context:server config,virtual host,directory,.htaccess
    状态:Base
    模块:mod_cgid
    兼容性:在 2.4 及更早版本中,CGIDScriptTimeout 默认为零

    该指令限制 time 的长度以等待 CGI 程序的更多输出。如果超过 time,则终止请求和 CGI。

    CGIDScriptTimeout 20
    

    ScriptSock 指令

    描述:用于与 cgi 守护程序通信的 socket 的文件名前缀
    句法:ScriptSock file-path
    默认:ScriptSock cgisock
    Context:服务器配置
    状态:Base
    模块:mod_cgid

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

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

    ScriptSock /var/run/cgid.sock
    

    上篇:mod_cgi

    下篇:mod_charset_lite