Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 如何增加gitlab CE lfs文件大小限制以避免出现500个服务器错误?_Nginx_Docker_Gitlab_Large Files_Git Lfs - Fatal编程技术网

Nginx 如何增加gitlab CE lfs文件大小限制以避免出现500个服务器错误?

Nginx 如何增加gitlab CE lfs文件大小限制以避免出现500个服务器错误?,nginx,docker,gitlab,large-files,git-lfs,Nginx,Docker,Gitlab,Large Files,Git Lfs,我正在使用优秀的工具为我的工作设置一个定制的gitlab服务器 所以我有一个荒谬的场景,我使用gitlab ce v8.12.5使用git lfs来存储10-20GB范围内的文件,但是我看到到处都有500个服务器错误,我的上传无法完成 问题:有人知道我如何增加服务器端限制吗? 注意:这不是413 nginx的问题,我已经设置了客户机的最大机身尺寸为500G,所以应该可以转发到gitlab 如果需要更多信息(如日志文件等),我很乐意提供,只需发表评论即可 最新情况1: 在同一个问题上似乎存在着一种

我正在使用优秀的工具为我的工作设置一个定制的gitlab服务器

所以我有一个荒谬的场景,我使用gitlab ce v8.12.5使用
git lfs
来存储10-20GB范围内的文件,但是我看到到处都有500个服务器错误,我的上传无法完成

问题:有人知道我如何增加服务器端限制吗?

注意:这不是413 nginx的问题,我已经设置了
客户机的最大机身尺寸为500G
,所以应该可以转发到gitlab

如果需要更多信息(如日志文件等),我很乐意提供,只需发表评论即可

最新情况1: 在同一个问题上似乎存在着一种关联

更新.2 其他相关资源:

目前,我的假设是docker容器中的链或代理服务器中的某个位置存在超时

    sudo vim /etc/systemd/system/docker.service

我注意到docker映射的设备
/dev/dm-7
几乎在gitlab出错的同时变为100%满

现在我开始相信这不是gitlab的问题,而是docker的问题,gitlab只是空间不足

谢谢您的时间,干杯。

问题1 第一个主要问题是
~/log/gitlab workhorse.log

错误:handleStoreLfsObject:将正文复制到临时文件:意外的EOF

这个错误与gitlab本身无关,但docker在其最新版本中决定将默认容器大小从100G/container缩小到10G/container,这意味着每当我尝试上载大于10GB的文件时,gitlab会尝试创建一个上传文件大小的临时文件(在我的例子中是30GB),然后由于docker容器中空间不足而发出上述错误消息

    sudo vim /etc/systemd/system/docker.service
我遵循这一极好的方法来增加容器的大小,但基本上可以归结为:

    sudo `which docker-compose` down
停止正在运行的容器

    sudo vim /etc/systemd/system/docker.service
和附加

    --sotrage-opt dm.basesize=100G
作为新基础图像的默认大小。现在看来docker有个问题,你必须

   sudo `which docker` rmi gitlab
假设您的图像被称为
gitlab
,并且

   sudo `which docker-compose` up
重新拉取图像并使其具有正确的大小

如果这仍然不起作用,请尝试重新启动docker.service,因为当docker似乎没有执行您要求它执行的操作时,这似乎会有所帮助

应该产生类似于:

Filesystem                                                                                        Size  Used Avail Use% Mounted on

/dev/mapper/docker-253:1-927611-353ffe52e1182750efb624c81a3a040d5c054286c6c5b5f709bd587afc92b38f  100G  938M  100G   1% /
我不是100%确定所有这些设置都是必要的,但在解决下面的问题2时,我最终不得不在

问题2 除了将容器大小从10GB调整到100GB之外,我还必须将以下内容添加到正在运行的实例中:

原因是文件大小太大(30GB+),网络速度太慢(10MB/s),以至于上传时间比默认的nginx长,并且超时为
504网关超时

    sudo docker exec -it /bin/bash
gitlab容器的
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;
    ...
    }
然后我重新启动了nginx。遗憾的是,
服务重启nginx
无法工作,我不得不:

    service stop nginx
    service start nginx
注意:我在这台服务器上运行了一个反向代理,它可以捕获所有http请求,所以我不确定,但我相信我添加到容器的nginx配置中的所有设置都必须在代理端复制

如果我遗漏了步骤,或者您希望了解如何准确执行程序的某一部分,请留下评论并询问。这是一个巨大的痛苦,我希望能帮助别人解决这个问题