注意:如果之前没有安装gitlab可以跳过卸载gitlab
步骤,直接进入安装依赖库
1、停止gitlab
# 停止gitlab
gitlab-ctl stop
# 查看gitlab状态
gitlab-ctl status
输出结果,如果都是down说明停止成功
2、卸载gitlab(注意这里写的是gitlab-ce)
rpm -e gitlab-ce
3、查看gitlab进程
ps -ef | grep gitlab
4、杀掉带有好多…的进程
kill -9 202859
杀掉后,执行ps -ef | grep gitlab
确认一遍,还有没有gitlab的进程
5、删除所有包含gitlab文件
find / -name gitlab | xargs rm -rf
# 安装依赖
yum install -y curl policycoreutils openssh-server
# 打开http, https和ssh访问
systemctl enable sshd
systemctl start sshd
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
systemctl reload firewalld
# 安装postfix,用来发送通知邮件
yum install -y postfix
systemctl enable postfix
systemctl start postfix
下载GitLab社区版安装包,链接地址:gitlab官网下载
国内建议使用的清华大学的镜像源下载GitLab,链接地址:清华大学镜像源下载
在下载好安装包后,放到自己习惯放的路径下即可,笔者这里放到/usr/local
目录
# 进入安装包所在目录
cd /usr/local
# rpm方式安装gitlab,一般出现gitlab的logo图案表示安装完毕了
rpm -ivh gitlab-ce-13.7.2-ce.0.el8.x86_64.rpm
如果访问不了,记得关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
内存要大于4G,内存不足报错
free -m
需要用到的端口
# puma['port'] = 8080
# postgresql['port'] = 5432
# redis['port'] = 6379
# sentinel['port'] = 26379
# nginx['listen_port'] = nil
# nginx['listen_https'] = nil
注意新配置的端口号不要被其他进程占用,且要在防火墙设置放开
查看 puma,nginx,redis端口是否被占用,可以使用 命令 gitlab-ctl tail puma 追踪查看启动信息
编辑gitlab配置文件
vim /etc/gitlab/gitlab.rb
注释如下配置
# 注释如下配置
# external_url 'http://gitlab.example.com'
添加如下配置
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.138.8:9080'
#修改默认端口
nginx['listen_port'] = 9080
# 修改puma服务器端口
puma['port']=9081
# 配置时区为 亚洲/上海 东八区时间
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 后台认证地址
gitlab_workhorse['auth_backend'] = "http://localhost:9081"
注意:因为从GitLab 13.0开始,Puma是默认的Web服务器,并且Unicorn默认情况下处于禁用状态。
执行如下命令查看版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
如果小于13.0版本默认使用的是unicorn,默认为unicorn['port'] = 8080
如果大于13.0版本默认使用的是puma,在/etc/gitlab/gitlab.rb
配置中,查看puma的端口是否被占用,默认为puma['port']=8080
,修改为服务器没有被占用的端口
puma['port']=9080
如果8080端口被占用,/var/log/gitlab/puma/current
会报如下错误
2021-01-11_12:46:07.24719 Errno::EADDRINUSE: Address already in use - bind(2) for "127.0.0.1" port 8080
/var/log/gitlab/nginx/current
会报如下错误
2021-01-11_12:44:01.18684 2021/01/11 20:43:58 [emerg] 21319#0: still could not bind()
2021-01-11_12:44:01.24463 2021/01/11 20:44:01 [emerg] 21324#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2021-01-11_12:44:01.74656 2021/01/11 20:44:01 [emerg] 21324#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2021-01-11_12:44:02.24768 2021/01/11 20:44:01 [emerg] 21324#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
刷新配置,让配置生效
gitlab-ctl reconfigure
重启服务
gitlab-ctl restart
进入gitlab
网址:http://192.168.138.8:9080/
, 设置root
用户密码,至少8个字符,为了方便记忆,这里设置为root1234
设置好root
用户密码,重新登录
登录成功页面如下
安装成功后,可以利用rpm -ql gitlab-ce
查询其文件安装路径及相关文件路径
# 主要配置文件目录
主配置文件: /etc/gitlab/gitlab.rb
默认安装路径:/opt/gitlab
代码仓库保存位置:/var/opt/gitlab/git-data/repositories
代码仓库备份位置:/var/opt/gitlab/backups
nginx配置文件: /var/opt/gitlab/nginx/conf/gitlab-http.conf
postgresql数据及配置目录:/var/opt/gitlab/postgresql/data
redis默认配置目录:/var/opt/gitlab/redis
各服务数据及配置文件保存路径:/var/opt/gitlab
日志地址:/var/log/gitlab
# Gitlab服务构成
nginx: 静态web服务器
gitlab-shell: 用于处理Git命令和修改authorized keys列表
gitlab-workhorse: 轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:HTTP服务,13.0版本之前GitLab Rails应用是托管在这个服务器上
puma:HTTP服务,13.0版本后GitLab Rails应用是托管在这个服务器上
# 重新编译gitlab的配置
gitlab-ctl reconfigure
# 启动
gitlab-ctl start
# 停止
gitlab-ctl stop
# 重启
gitlab-ctl restart
# 实时查看日志
gitlab-ctl tail
# 实时各个模块日志
gitlab-ctl tail redis/postgresql/gitlab-workhorse/logrotate/nginx/sidekiq/unicorn/puma
# 帮助命令
gitlab-ctl --help
# 检查gitlab
gitlab-rake gitlab:check SANITIZE=true --trace
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://thinkwon.blog.csdn.net/article/details/115056528
内容来源于网络,如有侵权,请联系作者删除!