当我在 Apache 下运行 cgi 脚本时,任何输出都会快速发送到客户端。但是,当我使用 fcgiwrap 在 nginx 下运行它时,在脚本完成或产生大量输出之前,似乎没有任何内容发送到客户端。特别是在使用 git-http-backend 时,这会导致克隆大型存储库时的网关超时(并且缺乏克隆较小存储库的进度信息)。
可以使用以下脚本查看此行为。
#!/bin/bash
echo "Content-type: text/html"
echo
while :
do
echo this is a test.
sleep 5
done
Run Code Online (Sandbox Code Playgroud)
在 apache 下,客户端将每 5 秒获取一些数据。
在带有 fcgiwrap 的 nginx 下,我没有得到任何数据和网关超时。
nginx 和 fcgiwrap 是来自 Debian Jessie 的软件包。版本 1.1.0-5 和 1.6.2-5+deb8u4
所以问题