最近使用GitLab提交MergeRequest时,提示502 GitLab is not responding。
使用gitlab-ctl tail
查看错误信息如下:
2014/10/28 11:50:50 [error] 6565#0: *1 upstream prematurely closed connection while reading response header from upstream, client: 1
0.xx.xx.xx, server: 10.xx.xx.xx, request: "GET /xxx/webopinion/merge_requests/new?utf8=%E2%9C%93&merge_request%5Bsource_project_id
%5D=6&merge_request%5Bsource_branch%5D=develop&merge_request%5Btarget_project_id%5D=4&merge_request%5Btarget_branch%5D=develop HTTP/
1.1", upstream: "http://unix:/home/gitlab/gitlab-rails/tmp/sockets/gitlab.socket:/xxx/webopinion/merge_requests/new?utf8=%E2%9C%9
3&merge_request%5Bsource_project_id%5D=6&merge_request%5Bsource_branch%5D=develop&merge_request%5Btarget_project_id%5D=4&merge_reque
st%5Btarget_branch%5D=develop", host: "10.xx.xx.xx", referrer: "http://10.xx.xx.xx/xxx/webopinion/merge_requests/new"
原因及解决方案
上面的问题是由于unicron的超时时间设置偏低,再加上我用的服务器性能不好导致的。
解决方案:
修改文件{GIT_LAB}/gitlab-rails/etc/unicorn.rb
,将其中的timeout修改的高一些,比如90,然后gitlab-ctl restart
重启即可。