当前位置:   article > 正文

gitlab服务器显示提交错误,gitlab 打开页面出现502错误解决办法

gitlab error: keywatcher: pubsub receive: eof

GitLab常用命令sudo gitlab-ctl start    # 启动所有 gitlab 组件;

sudo gitlab-ctl stop        # 停止所有 gitlab 组件;

sudo gitlab-ctl restart        # 重启所有 gitlab 组件;

sudo gitlab-ctl status        # 查看服务状态;

sudo gitlab-ctl reconfigure        # 重新配置更新

sudo vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;

gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;

sudo gitlab-ctl tail        # 查看日志;

解决思路:

第一种问题:gitlab占用内存太多,导致服务器崩溃。

1. 首先确认部署gitlab机器硬件是否满足条件:cpu:2核和内存:8g (最低性能要求),如果不满足,启用swap分区。

swap介绍:

在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用,那边被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap分区中,等到那些程序要运行时,再从swap分区中恢复保存的数据到内存中

swap查看

大部分服务器默认swap分区是没有启动的,查看使用:free,如下显示为0$ free

total        used        free      shared  buff/cache   available

Mem:      131550920     2172820   122695732        2052     6682368   128322520

Swap:             0           0           0

也可以通过cat /proc/swap查看$ cat /proc/swaps

FilenameTypeSizeUsedPriority

启用swap分区

创建swap大小为bs*count=4294971392(4G)

第一步:创建一个大小为4gM的文件:#dd if=/dev/zero of=/mnt/swap bs=1024 count=262144

/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!

/dev/zero,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0。

/dev/null——它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。

第二步:把这个文件变成swap文件:# mkswap /mnt/swap

第三步:启用这个swap文件:# swapon /mnt/swap

第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件:vim /etc/fstab

/mnt/swap    swap    swap    default   0 0

第五步:查看vm.swappiness中数值是否为0,如果为0,则调整为60# vim /etc/sysctl.conf

vm.swappiness = 60

内核参数vm.swappiness控制换出运行时内存的相对权重,参数值大小对如何使用swap分区有很大联系。值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=60,表示内存使用率超过100-60=40%时开始使用交换分区。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间;swappiness=100的时候表示积极使用swap分区,并把内存上的数据及时搬运到swap空间。(网上有的说,对于3.5以后的内核和RedHat 2.6.32之后的内核,设置为0会禁止使用swap,从而引发out of memory,这种情况可以设置为1。)

第六步:查看配置情况# free

total        used        free      shared  buff/cache   available

Mem:      131550920     2177704   122356472        2052     7016744   128317728

Swap:       4194304           0     4194304

启动完成swap之后,gitlab的web访问速度会提升不少。

2. 检查gitlab是否是使用8080端口,且8080端口是否被抢占使用(大部分都是改原因导致)

修改gitlab的默认端口>>> vim  /etc/gitlab/gitlab.rb

# 大概在240行左右

unicorn['listen'] = '127.0.0.1'

unicorn['port'] = 8181

# 每次重新配置,都需要执行sudo gitlab-ctl reconfigure

>>> sudo gitlab-ctl reconfigure

3. 检查gitlab的状态,查看nginx日志,查看进程状态,在做判断。

使用gitlab-ctl status命令查看gitlab的状态>>> gitlab-ctl status

run: logrotate: (pid 21402) 86s; run: log: (pid 1209) 3957915s

run: nginx: (pid 21457) 85s; run: log: (pid 1207) 3957915s

run: postgresql: (pid 22444) 44s; run: log: (pid 1201) 3957915s

run: redis: (pid 21790) 73s; run: log: (pid 1200) 3957915s

run: sidekiq: (pid 22443) 44s; run: log: (pid 1205) 3957915s

run: unicorn: (pid 1096) 55171s, got TERM; run: log: (pid 1202) 3957915s

查看gitlab的错误日志记录>>> cd /var/log/gitlab/nginx/

>>> cat cat gitlab_error.log

2018/08/07 03:12:32 [error] 27179#0: *56 upstream prematurely closed connection while reading response header from upstream, client: 192.168.3.240, server: 192.168.3.99, request: "GET / HTTP/1.1", upstream: "http://unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket:/", host: "192.168.3.99:12345"

2018/08/07 03:17:52 [error] 21461#0: *1 connect() to unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket failed (111: Connection refused) while connecting to upstream, client: 192.168.3.221, server: 192.168.3.99, request: "GET / HTTP/1.1", upstream: "http://unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket:/", host: "192.168.3.99:12345"

2018/08/07 03:21:37 [error] 21462#0: *3 connect() to unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket failed (111: Connection refused) while connecting to upstream, client: 192.168.3.221, server: 192.168.3.99, request: "GET / HTTP/1.1", upstream: "http://unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket:/", host: "192.168.3.99:12345"

使用命令:gitlab-ctl tail 用来获取详细信息>>> gitlab-ctl tail

==> /var/log/gitlab/postgresql/current <==

2019-12-24_10:30:01.87878 FATAL:  could not write lock file "postmaster.pid": No space left on device

==> /var/log/gitlab/unicorn/current <==

2019-12-24_10:30:02.15926 master failed to start, check stderr log for details

==> /var/log/gitlab/postgresql/current <==

2019-12-24_10:30:02.90281 FATAL:  could not write lock file "postmaster.pid": No space left on devic

比如这里提示错误:could not write lock file "postmaster.pid": No space left on device,告诉我们由于电脑硬盘没有空余存储空间来存储postmaster.pid文件,导致启动失败。

gitlab相关操作

启动服务:gitlab -ctl start

查看状态:gitlab -ctl status

停掉服务:gitlab -ctl stop

重启服务:gitlab -ctl restart

让配置生效:gitlab -ctl reconfigure

参考文章:

https://stackoverflow.com/questions/50598018/gitlab-502-error-and-unicorn-always-restart

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/585717
推荐阅读
相关标签
  

闽ICP备14008679号