關於阿里雲配置gitlab的記錄

說明

想搭建自己的git服務器,採用nginx + gitlab方式,不用gitlab內置nginx,搭建到完成所遇到的一些問題,做記錄;

安裝

關於gitlab的安裝,官網以及百度,google很多安裝教程,參考安裝;

配置

這裏是重點,因爲搭建不採用內置ngnix,所以在配置上踩了很多坑;配置文件在/etc/gitlab/gitlab.rb;這裏總結下配置步驟:

1.屏蔽內置ngnix

ginx['enable'] = false

2.設置外部訪問地址

external_url "https://gitlab.example.com"

3.設置外部服務器用戶

由於設置這種代理就是需要外部nginx服務器來訪問gitlab服務,gitlab服務運行在自己的用戶組下,所以當訪問時涉及到權限問題,所以需要加入nginx用戶到gitlab服務用戶組下,不同的linux系統可能nginx服務啓動的用戶名不一樣,以ubuntu爲例爲www-data,所以需要查詢下自身linux對應nginx的用戶。

web_server['external_users'] = ['www-data']

==補充:不進行如上配置,運到訪問502,查看log發現failed (XX: Permission denied) while reading upstream 異常;==

4.配置nginx虛擬機

新建配置文件/etc/nginx/site-enable/gitlab-nginx.conf

upstream gitlab-workhorse {
  # 注意:這裏可能涉及到不同版本安裝的gitlab對應的位置不一樣
  server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}

## Normal HTTP host
server {
  # 設置監聽端口,這裏爲8002
  listen 0.0.0.0:8002 default_server;
  listen [::]:8002 default_server;
  # YOUR_SERVER_FQDN 爲服務器地址
  server_name YOUR_SERVER_FQDN;
  server_tokens off;
  root /opt/gitlab/embedded/service/gitlab-rails/public;
  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;

  location / {
    client_max_body_size 0;
    gzip off;

    ## https://github.com/gitlabhq/gitlabhq/issues/694
    ## Some requests take more than 30 seconds.
    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;

    proxy_http_version 1.1;

    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-Forwarded-Proto   $scheme;

    proxy_pass http://gitlab-workhorse;
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章