Gitlab 安裝配置, 不影響當(dāng)前系統(tǒng)配置
使用Gitlab搭建自己的GIT服務(wù)
摘要
安裝Gitlab之前要確定當(dāng)前服務(wù)器是否已經(jīng)在提供http服務(wù),Gitlab安裝包包含了Ruby、Unicorn、Nginx、Redis等服務(wù)。
如果服務(wù)器上已經(jīng)存在http服務(wù),例如nginx并占用了80或8080端口,需要更改Gitlab默認(rèn)配置
系統(tǒng)要求
至少雙核+4G內(nèi)存,推薦最低服務(wù)器配置雙核+8G內(nèi)存。
4G內(nèi)存的服務(wù)器安裝Gitlab基本上就卡死了
安裝
Centos7.0+版本為例
1.安裝必要的服務(wù)
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 systemctl reload firewalld
2.下載GITLAB包并安裝
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
注意:把
http://gitlab.example.com換成你自己的域名需要把域名解析到當(dāng)前服務(wù)器
3.訪問(wèn)你的域名
安裝成功之后可直接訪問(wèn)域名http://gitlab.example.com
4.初始化
第一次訪問(wèn)可以直接設(shè)置管理員賬戶root的密碼
常用命令
# 啟動(dòng)Gitlab所有組件
sudo gitlab-ctl start
# 停止Gitlab所有組件
sudo gitlab-ctl stop
# 重啟Gitlab所有組件
sudo gitlab-ctl restart
# 重置配置
sudo gitlab-ctl reconfigure
默認(rèn)配置
安裝成功之后Gitlab的服務(wù)配置位置如下
gitlab.rb
cat /etc/gitlab/gitlab.rb
gitlab-nginx
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
gitlab-rails
vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
使用自己的Nginx服務(wù)
Gitlab安裝包自帶了http服務(wù),所以會(huì)影響你之前的nginx,導(dǎo)致之前的http服務(wù)不可用。
所以,修改Gitlab默認(rèn)配置,使用自己的nginx服務(wù)監(jiān)聽(tīng)80端口
1.修改 gitlab.rb
sudo vim /etc/gitlab/gitlab.rb
將unicorn的端口改為8082
## Advanced settings
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8082
將gitlab的nginx端口改為82
nginx['listen_addresses'] = ['*']
nginx['listen_port'] = 82
2.修改 gitlab-rails 配置
sudo vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
將socket端口改為8082
# What ports/sockets to listen on, and what options for them.
listen "127.0.0.1:8082", :tcp_nopush => true
listen "/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket", :backlog => 1024
3.修改 gitlab-nginx 配置
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
修改 端口 82
server {
listen *:82;
server_name gitlab.example.com;
此時(shí) gitlab的nginx服務(wù)監(jiān)聽(tīng)82端口,rails監(jiān)聽(tīng)8082端口
4.重置gitlab配置
完成配置之后執(zhí)行下面命令重置配置
sudo gitlab-ctl reconfigure
5.訪問(wèn)
此時(shí)訪問(wèn)http://gitlab.example.com:82即可進(jìn)入
6.更新自己的nginx配置
找到自己的nginx配置目錄
cd /usr/local/nginx/conf/vhosts
新增一個(gè)配置
sudo vim gitlab.example.com.conf
添加以下配置
server {
listen 80;
server_name gitlab.example.com;
location / {
#rewrite ^(.*) http://127.0.0.1:8082;
#proxy_pass http://127.0.0.1:8082;
proxy_pass http://127.0.0.1:82;
}
}
注意: 別忘了用你的域名替換
gitlab.example.com
檢查nginx配置并重啟
nginx -t
nginx -s reload
7.完成
以上就完成了Gitlab的安裝和配置
錯(cuò)誤
查看錯(cuò)誤日志
cat /var/log/gitlab/gitlab-shell/gitlab-shell.log
類似錯(cuò)誤
time="2018-05-03T15:31:45+08:00" level=warn msg="Failed to connect to internal API" error="Failed to open TCP connection to 127.0.0.1:802 (Connection refused - connect(2) for \"127.0.0.1\" port 802)" method=POST pid=15928 url="http://127.0.0.1:802/api/v4/internal/allowed"
# vim /var/opt/gitlab/gitlab-shell/config.yml
# 修改8080端口為82