Gitlab 安装配置, 不影响当前系统配置
使用Gitlab搭建自己的GIT服务
https://about.gitlab.com/
摘要
安装Gitlab之前要确定当前服务器是否已经在提供http服务,Gitlab安装包包含了Ruby、Unicorn、Nginx、Redis
等服务。
如果服务器上已经存在http服务,例如nginx并占用了80或8080端口,需要更改Gitlab默认配置
系统要求
至少双核+4G内存,推荐最低服务器配置双核+8G内存。
4G内存的服务器安装Gitlab基本上就卡死了
安装
Centos7.0+版本为例
1.安装必要的服务
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
换成你自己的域名需要把域名解析到当前服务器
3.访问你的域名
安装成功之后可直接访问域名http://gitlab.example.com
4.初始化
第一次访问可以直接设置管理员账户root的密码
常用命令
# 启动Gitlab所有组件
sudo gitlab-ctl start
# 停止Gitlab所有组件
sudo gitlab-ctl stop
# 重启Gitlab所有组件
sudo gitlab-ctl restart
# 重置配置
sudo gitlab-ctl reconfigure
默认配置
安装成功之后Gitlab的服务配置位置如下
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服务
Gitlab安装包自带了http服务,所以会影响你之前的nginx,导致之前的http服务不可用。
所以,修改Gitlab默认配置,使用自己的nginx服务监听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;
此时 gitlab的nginx服务监听82端口,rails监听8082端口
4.重置gitlab配置
完成配置之后执行下面命令重置配置
sudo gitlab-ctl reconfigure
5.访问
此时访问http://gitlab.example.com:82
即可进入
6.更新自己的nginx配置
找到自己的nginx配置目录
cd /usr/local/nginx/conf/vhosts
新增一个配置
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的安装和配置
错误
查看错误日志
cat /var/log/gitlab/gitlab-shell/gitlab-shell.log
类似错误
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