首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache2.2 CGI超时配置

Apache2.2 CGI超时配置
EN

Server Fault用户
提问于 2009-04-23 02:26:01
回答 3查看 40.5K关注 0票数 4

我有一个默认的Apache2.2系统设置,配置如下所示的Perl CGI脚本目录:

代码语言:javascript
复制
ScriptAlias /jarvis/ "/opt/jarvis/cgi-bin/"

这里没有什么特别之处,除了我的一个脚本需要超过10分钟的时间来处理,由于各种原因,这段时间内什么也不打印出来。

Apache似乎有10分钟(600秒)的时间框架来运行CGI脚本--如果在这个时间框架内没有从脚本中显示输出,那么脚本就会被杀死,一个500个响应被发送到browser/client。

信息:

代码语言:javascript
复制
[Thu Apr 23 13:57:53 2009] [warn] [client 127.0.0.1] Timeout waiting for output from CGI script /opt/jarvis/cgi-bin/jarvis.pl

出现在一个系统上(Ubuntu,通过apt-get安装),而在另一个系统上(Windows,通过包下载安装)。

我的问题是-在Apache2.2中是否有任何配置可以让我在不杀死脚本的情况下运行超过10分钟的脚本?

编辑

定期写入日志消息可以避免此错误,因此每隔几分钟编写一条日志消息,可以确保长时间运行的进程不会被扼杀。我最终通过在客户机上实现一个进度条并让我的脚本编写一个“”来解决问题。经常更新另一端的酒吧。

谢谢,杰米

EN

回答 3

Server Fault用户

发布于 2009-04-23 02:32:22

TimeOut指令定义了Apache在各种情况下等待I/O的时间:

  1. 从客户端读取数据时,如果读取缓冲区为空,则等待TCP数据包到达的时间长度。
  2. 当将数据写入客户端时,如果发送缓冲区已满,等待确认数据包的时间长度。
  3. 在mod_cgi中,等待CGI脚本输出的时间长度。
  4. 在mod_ext_filter中,等待筛选过程输出的时间长度。
  5. 在mod_proxy中,如果未配置ProxyTimeout,则为默认超时值。
票数 6
EN

Server Fault用户

发布于 2010-09-29 16:19:42

http://cweiske.de/tagebuch/Running%20Apache%20with%20a%20dozen%20PHP%20versions.htm所示:

代码语言:javascript
复制
FastCgiServer /var/www/cgi-bin/php-cgi-5.3.1 -idle-timeout 120

空闲超时设置apache等待cgi返回的时间(秒)。

票数 2
EN

Server Fault用户

发布于 2020-06-18 06:19:03

此错误来自其后面运行查询的数据库,它的索引操作不正确或查询速度慢,请检查错误将不再出现。

票数 -2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/277386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档