使用 FCGI 时出现无法读取的错误

使用 FCGI 时出现无法读取的错误

我最近在 Amazon EC2 64 位 Linux AMI 上安装了 mod_fcgi,并使用了 Movable Type 5.13。这是我的错误日志。

[warn]mod_fcgid: error reading data, FastCGI server closed connection, referer: http://xxx/mt.fcgi?__mode=start_rebuild&old_previous=1&is_new=0&next=0&old_status=2&type=entry-1&blog_id=1&entry_id=1

[error]Premature end of script headers: mt.fcgi, referer: http://xxx/mt.fcgi?__mode=start_rebuild&old_previous=1&is_new=0&next=0&old_status=2&type=entry-1&blog_id=1&entry_id=1

我的 .conf 文件为 /etc/httpd/conf.d/fcgid.conf

LoadModule fcgid_module modules/mod_fcgid.so

# Use FastCGI to process .fcg .fcgi & .fpl scripts
AddHandler fcgid-script fcg fcgi fpl .cgi

# Sane place to put sockets and shared memory file
FcgidIPCDir /var/run/mod_fcgid
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm

<IfModule mod_fcgid.c>
  AddHandler fcgid-script .fcgi
  SocketPath /tmp/fcgid_sock/
  FcgidConnectTimeout 1000
  FcgidMaxProcesses 1000
  FcgidMaxProcessesPerClass 100
  FcgidTerminationScore 20
  FcgidSpawnScore 180
  FcgidIdleTimeout 1000
  FcgidIOTimeout 1000
  FcgidMaxRequestLen 100485760
</IfModule>

Movable Type 重建了 html,但大约 4~5 分钟后它就给我“内部服务器错误”。我以为这是一个超时错误,所以我只是调高了所有与超时相关的设置,但结果还是一样。

更新:

进一步研究发现,使用 Apache 2.2.x VirtualHost 设置存在一些错误,导致 fcgi conf 文件无法重置为默认设置。因此,我在 VirtualHost 中设置了 FcigdConnectTimeout 等,但结果没有改变。

相关内容