gitlab ce 설정 (자체 nginx 를 제거 하고 기 존의 nginx 와 조합 하여 사용)

4193 단어 기타수송 하 다.
gitlab 설치 절차: 생략.
nginx 설치 절차: 동상
 
이 설정 은 본인 이 실제 조작 하여 얻 은 것 으로 인터넷 의 글 을 많이 참고 하 였 으 나 최종 적 으로 여러 글 과 결합 하여 얻 은 최종 결과 입 니 다. 다음은 관련 설정 정 보 를 직접 보 여 드 리 겠 습 니 다.
 
gitlab 설정
【/etc/gitlab/gitlab.rb】
#vi /etc/gitlab/gitlab.rb

#    ,            
external_url 'https://gitlab.DOMAIN.COM'

gitlab_rails['trusted_proxies'] = ['127.0.0.1']

#gitlab       
git_data_dir "/data/gitlab"

#gitlab       
gitlab_rails['uploads_directory'] = "/data/gitlab/uploads"

#gitlab          
#【    】      nginx   upstream    ,   ,           server unix:/var/opt/gitlab/gitlab-workhorse/socket fail_timeout=0;,          nginx   502 Bad Gateway   ,    
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:8085"

#gitlab        
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8086

#  WEB  (   nginx ) LINUX    ,         
web_server['external_users'] = ['www']

#    nginx
nginx['enable'] = false

【/var/opt/gitlab/gitlab-rails/etc/unicorn.rb/unicorn.rb】
#vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb/unicorn.rb

#     gitlab.rb   unicorn       
listen "127.0.0.1:8086", :tcp_nopush => true
listen "/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket", :backlog => 1024

이 설정 이 완료 되면 설정 정 보 를 꼭 사용 해 야 합 니 다. gitlab - ctl 재 구성, 그렇지 않 으 면 적용 되 지 않 습 니 다.
 
nginx 호스트 설정
#vi /usr/local/nginx/conf/vhost/gitlab.DOMAIN.COM.conf


upstream gitlab-workhorse {
  #   gitlab    gitlab_workhorse   
  server 127.0.0.1:8085;
}

#HTTP   
server {
  listen 0.0.0.0:80;
  #listen [::]:80 ipv6only=on default_server;
  server_name gitlab.DOMAIN.COM;
  server_tokens off; ## Don't show the nginx version number, a security best practice
  return 301 https://$http_host$request_uri;
  access_log  /usr/local/nginx/logs/gitlab_access.log;
  error_log   /usr/local/nginx/logs/gitlab_error.log;
}

#HTTPS   
server {
  listen 0.0.0.0:443 ssl;
  #listen [::]:443 ipv6only=on ssl default_server;
  server_name gitlab.DOMAIN.COM;
  server_tokens off;
  root /opt/gitlab/embedded/service/gitlab-rails/public;

  ssl on;
  #https     
  ssl_certificate /usr/local/nginx/conf/ssl/certs.pem;
  ssl_certificate_key /usr/local/nginx/conf/ssl/certs_private.key;

  ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 5m;

  access_log  /usr/local/nginx/logs/gitlab_access.log;
  error_log   /usr/local/nginx/logs/gitlab_error.log;

  location / {
    client_max_body_size 0;
    gzip off;

    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-Ssl     on;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   $scheme;
    proxy_pass http://gitlab-workhorse;
  }
}

주의사항, 두 포트 는 설정 이 정확 한 지 주의해 야 합 니 다. 그렇지 않 으 면 502 문제 가 발생 할 수 있 습 니 다.
그리고 중요 한 것 은 nginx 입 니 다. 설정 중 upstream server 주소. gitlab. rb 의  gitlab_workhorse['listen_addr'] 주 소 는 인터넷 에서 여러분 이 제공 하 는 공식 적 인 것 처럼 필요 없습니다. server unix:/var/opt/gitlab/gitlab-workhorse/socket fail_timeout=0;
 
[참고 문장]
GitLab + 로 컬 Nginx (두 단계 연주):https://blog.csdn.net/qq_34894188/article/details/80468889
CentOS 7. x 에서 GitLab 에 상세 한 튜 토리 얼 을 구축 합 니 다.https://www.linuxidc.com/Linux/2017-12/149766.htm
[자원 링크]
gitlab-ce 청 화 미 러:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
gitlab 중국어 커 뮤 니 티:https://gitlab.com/xhang/gitlab/wikis/home

좋은 웹페이지 즐겨찾기