我一輩子的文章都會放在這裏,個人博客,我但願每一行代碼,每一段文字都能幫助你。 https://github.com/CrazyCodes...
你們好,我是CrazyCodes,這篇文章的標題有些嚴肅了,算是很是單純的教學文,願能夠幫助到有須要的人。html
GitLab與GitHub和碼雲同樣,都是以web形式存在的在線管理Git倉庫而且都擁有優雅的可視化操做頁面。固然這篇文章我們不介紹這沒用的。python
由於GitLab/Hub或者碼雲對免費用戶不是夠友好,不管是在庫的容量或者協做人員都有些許限制,GitHub的提交速度對中國程序員更是慢如蝸牛。nginx
網絡上關於GitLab安裝的文章並很多,由於GitLab在安裝過程當中會默認再安裝一個Nginx,這必然會與已有Nginx衝突,寫這篇文章主要的目的仍是對已存在Nginx服務的服務器如何配置GitLab作一個指導。git
服務器版本:(阿里雲) CentOS Linux release 7.6.1810
GitLab版本:12.4.0-ee
Nginx版本:nginx/1.17.0程序員
基本都算是比較新的版本了,廢話很少說,咱們開始吧!github
https://about.gitlab.com/install/web
sudo yum install -y curl policycoreutils-python openssh-server sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo systemctl reload firewalld
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee
EXTERNAL_URL 這個配置就默認好了,畢竟我們也不用GitLab自帶的Nginx數組
就是這麼簡單,安裝完成了。第一次訪問的時候會要求從新設置密碼。用戶名默認爲 rootbash
安裝完成後,須要對現有的GitLab作一些配置更改。服務器
官方文檔:https://docs.gitlab.com/12.4/omnibus/settings/nginx.html#using-a-non-bundled-web-server
在文件
/etc/gitlab/gitlab.rb
下,將配置設置爲false
nginx['enable'] = false
須要將自建Nginx的所屬用戶加入到配置內
在文件
/etc/gitlab/gitlab.rb
下,將配置設置爲 www-data
對於Debian/Ubuntu,默認用戶是www-data
對於RHEL/CentOS,NGINX用戶是nginx
。
固然若是安裝nginx未指定所屬用戶,也有可能會是root。固然能夠經過命令
cat /usr/local/nginx/conf/nginx.conf | grep user
查看所屬用戶,實際就在配置文件裏寫着
user root; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '"$http_user_agent" "$http_x_forwarded_for"';
回到正題,修改配置爲root(剛剛講過了,爲啥是root)
web_server['external_users'] = ['root']
這個設置是一個數組,能夠添加多個用戶。設置好後運行命令
sudo gitlab-ctl reconfigure
配置已生效
GitLab已經爲開發者準備好相應的vhost文件。能夠經過訪問下方連接獲取
https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server
配置完成後執行
nginx -s reload
既完成,原理很簡單,其餘配置我也不是太明白,大概則是使用反向代理轉發了一下請求這樣子。
在最新版本中,若是按照上述方式配置,可能會在提交過程當中出現422錯誤,具體緣由不清楚,我遇到這個問題後配置了ssl,解決了這個問題。
大多都是官方的文字,可能只是不太好找,因此網絡上常常出現這個問題,但都無解,因此寫這麼個水文,幫助須要的人,固然,提倡仍是去看官網的文檔。
感謝你看到這裏,但願本篇文章能夠幫到你。