我正在使用优秀的sameersbn/gitlab为我的工作设置一个定制的gitlab服务器。
所以我有一个荒谬的场景,我使用git lfs存储10-20 范围内的文件,gitlab ce v8.12.5,但是我看到到处都是500个服务器错误,我的上传无法完成。
问题:有人知道我如何增加服务器端的限制吗?
注意:这不是413 nginx问题,我已经设置了
client_max_body_size 500G,所以它应该转发给gitlab。
如果需要更多的信息(如日志文件等),我将乐意提供它,只需作出评论。
更新1:
在这个问题上似乎有一个相关的gitlab问题。
Update.2
其他相关资源:
目前,我的假设是,链中的某个位置或码头容器中的代理服务器中存在超时。
git bash:错误: RPC失败;结果= 18,HTP代码=200 b=1 1KiB/s https://github.com/gitlabhq/gitlabhq/issues/694
因此,我刚刚注意到,对接映射设备/dev/dm-7变成了100%完整的,几乎就在gitlab错误使用500的同时。
现在我开始相信,这不是gitlab的问题,而是码头的问题,gitlab只是空间不足。
谢谢你抽出时间,干杯。
发布于 2016-10-28 00:26:33
问题1
第一个主要问题是~/log/gitlab-workhorse.log中的以下错误
error: handleStoreLfsObject: copy body to tempfile: unexpected EOF
此错误与gitlab本身无关,而是在其最新版本中决定将默认容器大小从100 G/容器缩减到10G /容器,这意味着每当我试图上载大于10 in的文件时,gitlab将尝试制作一个与上传文件大小相同的临时文件(在我的例子中是30 in ),然后由于码头容器中缺少空间而破坏上述错误消息。
关于如何增加容器的大小,我遵循了这个优秀的指南,但基本上可以归结为:
sudo `which docker-compose` down停止正在运行的容器。
sudo vim /etc/systemd/system/docker.service并附加
--sotrage-opt dm.basesize=100G作为新基图像的默认大小。现在看来码头有问题了,你必须
sudo `which docker` rmi gitlab假设您的图像名为gitlab,并且
sudo `which docker-compose` up重新拉出图像,并以适当的大小创建它。
如果这仍然不起作用,那么试试
sudo systemctl restart docker.service吧,因为当对接者似乎没有按照你的要求去做的时候,这似乎是有帮助的。
sudo docker exec -it gitlab df -h应该产生类似于:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-253:1-927611-353ffe52e1182750efb624c81a3a040d5c054286c6c5b5f709bd587afc92b38f 100G 938M 100G 1% /我不能百分之百肯定所有这些设置都是必要的,但在解决问题2时,我不得不在docker-compose.yml中设置这些设置
- GITLAB_WORKHORSE_TIMEOUT=60m0s
- UNICORN_TIMEOUT=3600
- GITLAB_TIMEOUT=3600问题2
除了将容器的大小从10 to调整到100 to之外,我还必须向正在运行的实例添加以下内容:
其原因是文件大小太大(30GB+),网络速度太慢(10 so /s),以至于上传所用的时间比默认的nginx长,并且使用504 Gateway Timeout超时。
sudo docker exec -it /bin/bashgitlab容器的vim.tiny /etc/nginx/nginx.conf
http {
...
client_max_body_size 500G;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
send_timeout 3600;
...
}然后我重新开始了。遗憾的是,service restart nginx没有工作,我不得不:
service stop nginx
service start nginx注意:我在这个服务器上运行了一个反向代理,它捕获所有http请求,所以我不确定,但是我认为我添加到容器nginx配置中的所有设置都必须在代理端复制
如果我已经离开了,或者你想要澄清一下程序的一个具体部分,请留下评论,然后问。这是一种巨大的痛苦,我希望能帮助别人解决这个问题。
https://stackoverflow.com/questions/40136346
复制相似问题