gitlab 做爲當前企業版本控制的有力工具,很是流行,官方提供了很是方便的安裝配置方式,能讓咱們快速的搭建一個便捷的代碼版本控制系統。
可是由於 gitlab 自己內置了 nginx,當咱們的 gitlab 服務要和其餘 web服務共存,就須要作一點簡單的改變,以適應這種狀況
第一個辦法是禁用 gitlab 自帶的 nginx,使用咱們本身安裝的 nginx,這種方法我不喜歡。
第二種辦法就是 配置代理服務器,繼續使用 gitlab 的內置 nginxhtml
gitlab nginx 端口監聽修改nginx['listen_port'] = 端口號
nginx
gitlab 的域名external_url '域名'
git
修改完上述參數 執行命令 gitlab-ctrl reconfigure
web
upstream git{ # 域名對應 gitlab配置中的 external_url # 端口對應 gitlab 配置中的 nginx['listen_port'] server 域名:端口; } server{ listen 80; # 此域名是提供給最終用戶的訪問地址 server_name 域名; location / { # 這個大小的設置很是重要,若是 git 版本庫裏面有大文件,設置的過小,文件push 會失敗,根據狀況調整 client_max_body_size 50m; proxy_redirect off; #如下確保 gitlab中項目的 url 是域名而不是 http://git,不可缺乏 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 反向代理到 gitlab 內置的 nginx proxy_pass http://git; index index.html index.htm; } }