🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
CGI Common Gateway Interface 通用网关接口。 原理 在web页面CGI允许服务器执行任何程序,服务器会将请求信息头和环境变量传给CGI脚本,CGI脚本在独立于apache外的内存空间运行,并将结果返回给apache,最终apache将结果包含在http页中响应给用户。 mod_cgi mod_cgi工作在apache非线程模型下,只需要取消如下注释即可 ~~~ LoadModule cgi_module modules/mod_cgi.so ~~~ 此模块还提供了3条指令来管理和监控mod_cgi模块 * ScriptLog 设置CGI脚本错误日志位置和名称 ~~~ ScriptLog logs/cgi_log ~~~ * ScriptLogBuffer 设置日志记录的put或者post内容大小,防止日志增长过快,默认为1024 * ScriptLogLength 设置记录日志的大小,超出后不会i在记录日志。 用户使用由mod_cgi提供的cgi-script处理器来进行处理。 定义目录 定义一个目录来处理cgi脚本,mod_alias模块提供ScriptAlias来指定CGI专用目录,这个目录变成CGI脚本容器 ~~~ ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" ~~~ 也可以通过Options来定义 ~~~ <Directory /var/www/cgi-bin/> Options +ExecCGI <Directory> ~~~ 定义请求 ScriptAliasmatch使用正则表达式来匹配请求,效果和ScriptAlias相同 ~~~ ScriptAliasMatch ^/cgi-bin(.*) "/var/www/cgi-bin/$1" ~~~ 定义文件 将文件定义成CGI脚本,用户可以使用AddHandler指定一种文件作为CGI资源使用,只能使用在目录容器中。 ~~~ AddHandler cgi-script .cgi ~~~