安装调试gitlab/gitlab-ce容器时遇到的502 Whoops, GitLab is taking too much time to respond

来源:互联网 发布:淘宝运营一般要学多久 编辑:程序博客网 时间:2024/06/05 09:18

最近在实践演练DevOps,需要建立一系列DevOps关键节点,其中在安装Gitlab集中配置中心的时候,发现了一个许多人在安装gitlab会遇到的问题:502 Whoops, GitLab is taking too much time to respond。经搜索梳理网上几篇相同问题的解决方案,归纳原因可能如下:

1、unicorn原8080默认端口被容器中别的进程已经占用,必须调整为没用过的

2、gitlab的timeout设置过小,默认为60

从这两个原因着手,开始调整配置:

1、使用以下命令编辑gitlab配置文件:

sudo docker exec -it gitlab vim /etc/gitlab/gitlab.rb

经试验,应该修改以下配置项:

unicorn['port'] = 8888

gitlab_workhorse['auth_backend'] = "http://localhost:8888" 

注意:unicorn['port']与gitlab_workhorse['auth_backend']的端口必须相同

2、调整timout时长,从60秒改为90秒

gitlab_rails['webhook_timeout'] = 90 

gitlab_rails['git_timeout']=90


以上配置修改完成后,使用以下命令重启容器:

docker restart gitlab
docker logs gitlab


也可以通过以下命令进入容器,查看gitlab启动状态和动态日志:

sudo docker exec -it gitlab /bin/bash
cd /usr/bin
gitlab-ctl status
gitlab-ctl tail


3、初始镜像、容器的创建步骤是这样的:

sudo docker pull gitlab/gitlab-ce
chmod 777 /var/log/gitlab
sudo docker run --detach --hostname devops --publish 443:443 --publish 80:80 --publish 20022:22 --name gitlab --env GITLAB_OMNIBUS_CONFIG="external_url 'http://devops/'; gitlab_rails['lfs_enabled'] = true;" --restart always --volume /home/linyu/gitlab/config:/etc/gitlab --volume /home/linyu/gitlab/logs:/var/log/gitlab --volume /home/linyu/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest


4、也可以进入容器后,根据容器创建时映射的--volume目录,在里面修改配置,然后重启gitlab:

gitlab-ctl reconfigure
gitlab-ctl retart
gitlab-ctl status
gitlab-ctl tail


温馨提醒:

1、如果久试不成,多检查gitlab.rb是否有重复的配置,我就是由于试的次数过多,最后配置好了还是显示有问题,就是由于配置重复了

2、unicorn['port'] 和auth_backend端口不能使用9090,因为9090是普罗米修斯监控的默认端口,否则不会出现gitlab的登录页面怎,而会出现普罗米修斯的监控首页么配都不好


实际使用,才会发现不一样的风景!