来自Nginx的502 Bad Gateway用于大型GitLab fork

时间:2013-08-29 02:32:07

标签: git nginx gitlab git-fork

我正在通过Nginx运行GitLab 6.0.0并可以分叉小型存储库,但是当我尝试分叉大型存储库(2GB)时,我看到一个“ 502 Bad Gateway ”页面强>一分钟。

/var/log/nginx/gitlab_error.log显示:

2013/08/29 12:21:33 [error] 25098#0: *221 upstream prematurely closed connection while reading response header from upstream, 
  client: 12.34.56.78, 
  server: myserver, 
  request: "POST /mygroup/myproject/fork HTTP/1.1", 
  upstream: "http://unix:/home/git/gitlab/tmp/sockets/gitlab.socket:/mygroup/myproject/fork", 
  host: "myserver", 
  referrer: "http://myserver/mygroup/myproject/fork"

2 个答案:

答案 0 :(得分:7)

Issue 1527表示内存问题(以及memory requirement in mentioned in the doc)。

也可能是因为初始超时:

  

我发现这个错误也会发生,因为独角兽工人有时需要33秒才能启动,并且他们被配置为在30秒后超时。

您可以修改独角兽配置文件​​/home/git/gitlab/config/unicorn.rb

timeout 300

在您的NGiNX配置中,您还可以添加:

proxy_connect_timeout 300;
proxy_read_timeout 300;

如果您的NGiNX有/etc/nginx/fastcgi_params个文件,可以添加:

fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 156 16k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_max_temp_file_size 0

fastcgi_pass            unix:/tmp/fpm.sock;

请注意,在502之后,在进行上述修复之后,最好在再次尝试访问gitlab之前清除浏览器缓存。

答案 1 :(得分:0)

我和你的导游一样。但是在fastcgi配置上有一点改变。

fastcgi_pass  unix:/home/git/gitlab/tmp/sockets/gitlab.socket;

非常感谢您的导游!

TWINQ78