前几天安装好了本地的Gitlab服务器,都没什么问题,可以直接打开。但是今天一通过 http//192.168.1.164:9090 来访问直接报了502错误。如下图:

502错误就是网关错误

服务器正在作为一个网关或代理来完成客户访问所需网址的请求。 为了完成该请求,此服务器访问一个上游服务器, 但收到无效响应。

这通常并不意味着上游服务器已关闭(对网关 / 代理无响应), 而是上游服务器和网关 / 代理在交换数据的协议上不一致。 鉴于互联网协议是相当清楚的, 它往往意味着一个或这两个机器的编程都不正确或不完全。

一、查看官方文档

一开始想了好多的问题,查了一些资料,先查了官方文档得到如下答案。

Note that on a single-core server it may take up to a minute to restart Unicorn and Sidekiq. Your GitLab instance will give a 502 error until Unicorn is up again.

It is also possible to start, stop or restart individual components.

sudo gitlab-ctl restart sidekiq 
Unicorn supports zero-downtime reloads. These can be triggered as follows:

sudo gitlab-ctl hup unicorn 
Note that you cannot use a Unicorn reload to update the Ruby runtime.

其中这两条指令我试了,但是任然报502错误,有遇到的小伙伴可以先试试:

  • sudo gitlab-ctl restart sidekiq 
  • sudo gitlab-ctl hup unicorn 

二、会不会是权限不足

修改 /var/log/gitlab 的权限,首先查看里面的权限,如下:

使用  chmod -R 755 gitlab/  将gitlab的权限修改:

修改以后在查看结果如下:

修改权限后我刷新了好久,发现还是不可以。仍然报502网关错误。只能继续找别的解决办法。

三、会不会是端口的问题

     这里我解决了502的问题,但是改了好几次。一开始查的一些直说要我把  external_url 'http://localhost:8080'  后面的8080端口改了,我改为9090,但是后面还是不行,后面又看到一篇文章,终于可以完美解决。

首先 $ vim /etc/gitlab/gitlab.rb  修改gitlab.rb文件的内容。如下:

一开始我就改了 external_url 后面的内容,看到 unicorn['listen']与nicorn['port'] 都被注释掉了:

然后我把这两个注释的  "#" 去掉,改成如下:

external_url 'http://localhost:9090'

unicorn['listen'] = '127.0.0.1'

unicorn['port'] = 8008         尤其是这个参数,unicorn['port']为unicorn worker的工作端口,默认为8080,这里我的8080端口被占用的,所以这里我要修改为 8008 。



然后我重启gitlab,如下图:

$ gitlab-ctl reconfigure

$ gitlab-ctl restart

然后我就解决了502网关错误,通过Chrome输入 http//192.168.1.164:9090 可以直接访问,如下图:

OK,终于解决了Gitlab服务器报的502问题了。希望可以帮到遇到同样问题的小伙伴。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐