最近在實踐演練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的登錄頁面怎,而會出現普羅米修斯的監控首頁麼配都不好
實際使用,纔會發現不一樣的風景!