问题描述
某环境需要搭建gitlab服务,gitlab搭建安装很简单自行百度,安装两种方式分别为:1、rpm包安装 2、yum源安装;由于服务器上已经安装了nginx、tomcat、redis应用服务导致gitlab相关服务的端口被占用,故不能正常打开gitlab web管理页面。
排查思路
1、检查防火墙状态,防火墙服务名称:iptables和firewalld
2、检查gitlab服务状态及监听端口状态,命令:gitlab-ctl status gitlab所有服务状态 ss -lntup查看正在监听的tcp和udp端口状态
3、检查gitlab相关日志,命令:gitlab-ctl tail 实时查看日志输出
解决步骤
1、确认gitlab服务涉及需要调整的相关端口80,8080,6379,分别为前端nginx、后端Unicorn、缓存redis
2、系统本身已经安装了nginx和tomcat占用了80和8080端口,一个系统不允许同一个端口对应多个应用服务,
故需要修改gitlab配置文件/etc/gitlab/gitlab.rb中关于nginx和Unicorn监听端口,默认端口为80和8080,修改内容如下:
## GitLab URL external_url 'http://xxx.xxx.xxx.xxx' ##nginx port # nginx['listen_port'] = nil修改为nginx['listen_port'] = 9091 ### Advanced settings # unicorn['listen'] = '127.0.0.1'修改为unicorn['port'] = 9092 vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb listen "127.0.0.1:9092", :tcp_nopush => true listen "/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket", :backlog => 1024 修改完成执行以下命令重新刷新配置 gitlab-ctl reconfigure
3、redis端口6379可更改可不更改,算是一个误区,默认gitlab调用内部redis使用unix socket进行本地连接,不存在端口被占用的情况;
如果想使用tcp connection连接则才需要更改redis默认端口。
4、启动并检查相关服务
启动gitlab gitlab-ctl start 查看gitlab状态 gitlab-ctl status 查看gitlab进程 ps -ef |grep gitlab
5、打开浏览器访问http://xxx.xxx.xxx.xxx:9091进入gitlab登录页面
补充说明
1)gitlab目录配置说明 /etc/gitlab/gitlab.rb #配置文件 /var/opt/gitlab #gitlab相关服务配置存放目录以及gitlab仓库数据存放目录 /var/log/gitlab #gitlab日志存放目录 2)gitlab命令 gitlab tail #查看实时日志 gitlab tail [gitlab service-name] #查看特定服务日志 gitlab restart #重启所有服务 gitlab restart [gitlab service-name] #重启特定服务