CentOS7服務器上搭建Gitlab

 

Gitlab如何搭建?php

  1. 安裝gitlab所須要的依賴html

    sudo yum install curl policycoreutils openssh-server openssh-clientsnginx

  2. 使sshd服務自動啓動git

    sudo systemctl enable sshdshell

  3. 啓動sshd服務vim

    sudo systemctl start sshd服務器

  4. 安裝郵件服務器ssh

    sudo yum install postfixcurl

  5. 使郵件服務器postfix自啓動socket

    sudo systemctl enable postfix

  6. 啓動郵件服務器postfix

    sudo systemctl start postfix

  7. 開放防火牆

    sudo firewall-cmd --permanent --add-service=http

  8. 重啓防火牆

如何啓動GitLab?

  1. 啓動,配置

    sudo gitlab-ctl reconfigure

  2. 修改gitlab配置文件指定服務器ip和自定義端口

    vim  /etc/gitlab/gitlab.rb 修改 extenal_url="" 爲本身服務器的訪問ip+端口或域名

    ps:注意這裏設置的端口不能被佔用,默認是8080端口,能夠定義其它端口,並在防火牆設置開放相對應端口。

    firewall-cmd --permanent --add-port=8888/tcp systemctl restart firewalld.service
  3. 重置並啓動GitLab

    從新配置
    gitlab-ctl reconfigure 重啓 gitlab-ctl restart

    訪問gitlab:http://192.168.0.108:8099/ 或 你的域名
    說明一下,域名訪問須要配置Nginx,可用Gitlab內置或外部獨立的

  4. 502錯誤可能的緣由

    1. 端口衝突
    2. 內存不足
    3. 外部Nginx訪問權限不足
    4. Nginx訪問請求鏈接被重置<我操做時Nginx配置有誤致使這個問題,因此在這裏mark一下>

如何使用外部Nginx?

  1. 禁用Gitlab內部的Nginx

    vim /etc/gitlab/gitlab.rb 在配置中開啓一下配置 nginx['enable'] = false
  2. 修改外部Nginx配置

    upstream gitlab_server { server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket; } server { listen *:80; server_name gitlab.paipailicai.cn; 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 /usr/local/ddanglc/gitlab/logs/gitlab_access.log; error_log /usr/local/ddanglc/gitlab/logs/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://gitlab_server; } location ~ ^/(assets)/ { root /opt/gitlab/embedded/service/gitlab-rails/public; expires max; add_header Cache-Control public; } error_page 502 /502.html; }
  3. 修改權限配置,讓外部Nginx訪問gitlab的socket文件

    sudo chmod -R o+x /var/opt/gitlab/gitlab-rails
  4. 重啓 nginx, 重啓gitlab

    sudo /usr/local/nginx/sbin/nginx -s reload sudo gitlab-ctl reconfigure
相關文章
相關標籤/搜索