美文网首页
记给公司开发环境服务器安装gitlab的神坑之路~

记给公司开发环境服务器安装gitlab的神坑之路~

作者: Boger_8cf1 | 来源:发表于2018-09-15 15:32 被阅读0次

大牛就是大牛...

最近公司为了并行开发,要把代码提交从svn转到gitlab上,我就开始了我的安装gitlab之路~

一开始我是按照https://www.cnblogs.com/shijunjie/p/8961977.html 这篇博客 在我自己的新服务器上安装的,一切顺利。

乐乐呵呵的就开始了安装我们公司开发环境服务器的gitlab......

我也是按照上面的博客开始安装,

第一个坑:

gitlab-ctl reconfigure时,卡住了。。。

然后就百度了一波卡住的那一行

然后就执行了一条语句,就可以了。

第二个坑:

然后安装完毕后,修改了url和端口号之后就重启了一下。

修改了/etc/gitlab/gitlab.rb 配置文件之后 

务必使用

gitlab-ctl reconfigure

gitlab-ctl restart 

两条语句来重启,官方文档有介绍(https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab)

 

然后访问之后  页面显示502

就是这个页面

这个gitlab 安装的时候它会自带一个nginx,如果你服务器上已经使用了nginx,就会产生冲突。

我参照网上的各种教程来了一遍,都不管用。

只好求助我们CTO,palapala一阵键盘清脆的响声,问题半个小时就解决了。。。我整了一上午都没解决。。

这个问题的原因我知道,就是gitlab自带的nginx 和 服务器已有的nginx冲突。

解决方法:

1、vim /etc/gitlab/gitlab.rb

2、然后修改和加入

external_url '域名:端口号'

unicorn['port'] = 端口号

注: url的端口号和unicorn 的端口号  要不一致。

cd /usr/local/nginx/conf

vim nginx.conf

加入

# gitlab socket 文件地址

upstream gitlab {

  # 7.x 版本在此位置

  # server unix:/var/opt/gitlab/gitlab-rails/tmp/sockets/gitlab.socket;

  # 8.0 位置

  server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket;

}

server {

  listen    端口号;  #修改端口号(nginx需要访问的端口号和gitlab.rb中 external_url 端口号保持一致  )

  server_name localhost;  

  server_tokens off;    # don't show the version number, a security best practice

  root /opt/gitlab/embedded/service/gitlab-rails/public;

  client_max_body_size 250m;

  #access_log  /var/log/gitlab/nginx/gitlab_access.log;

  #error_log  /var/log/gitlab/nginx/gitlab_error.log;

  location / {

    try_files $uri $uri/index.html $uri.html @gitlab;

  }

  location @gitlab {

    proxy_read_timeout 300; # Some requests take more than 30 seconds.

    proxy_connect_timeout 300; # Some requests take more than 30 seconds.

    proxy_redirect    off;

    proxy_set_header  X-Forwarded-Proto $scheme;

    proxy_set_header  Host              $http_host;

    proxy_set_header  X-Real-IP        $remote_addr;

    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

    proxy_set_header  X-Frame-Options  SAMEORIGIN;

    proxy_pass   http://127.0.0.1:端口号; #和gitlab.rb中unicorn['port']  端口号保持一致

  }

  location ~ ^/(assets)/  {

    root /opt/gitlab/embedded/service/gitlab-rails/public;

    expires max;

    add_header Cache-Control public;

  }

  error_page 502 /502.html;

}

加入这样一段配置文件之后,重启nginx,重启gitlab

systemctl restart nginx.service

gitlab-ctl reconfigure

gitlab-ctl restart

这样就解决啦~

真是太坑了。。。浪费我一天时间。

有需要的小伙伴可以参考一下~

相关文章

网友评论

      本文标题:记给公司开发环境服务器安装gitlab的神坑之路~

      本文链接:https://www.haomeiwen.com/subject/fattnftx.html