Centos7 搭建 gitlab 服务器
前言
上一篇文章已经实现了 git server 搭建,但是gitlab 第三方 git 版本管理工具更加友好的 协助我们管理代码,所以 又写了 这篇文档
这两天 夜夜到 12:00 写文档
一、下载 并安装 gitlab
我的 虚拟机中 centos7 已经 自带 ssh ,防火墙, postfix,并自动开启。 如果有需要 可参考下面 这篇文章
1.1. 下载 gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
1.2. 安装 gitlab
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
假如这里报错, 缺少 依赖, 则执行下一步
1.3. 安装 policycoreutils-python 依赖
yum install -y curl policycoreutils-python
然后 继续执行 rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
命令
二、 配置 gitlab
2.1. 配置 gitlab web 的 ip 和端口号
需要注意的是: gitlab 依赖很多 比如 redis …, 已经占用了很多端口。不要冲突了。这里把我坑了
报错 502 一般就是这个原因
vim /etc/gitlab/gitlab.rb
在 external_url 配置 gitlab web 的访问 地址。
如下为我的配置。
执行如下命令让 gitlab 配置生效
gitlab-ctl reconfigure
gitlab-ctl restart
2.2. centos 开启 9001 端口
查询 9001 端口是否开启 firewall-cmd --query-port=9001/tcp
永久开启 9001 firewall-cmd --add-port=9001/tcp --permanent
重启 防火墙 firewall-cmd --reload
[root@localhost ~]# firewall-cmd --query-port=9001/tcp
no
[root@localhost ~]# firewall-cmd --add-port=9001/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --query-port=9001/tcp
yes
2.3. 访问gitlab web
如果报错 502 ,则看 下文中 遇到的坑。
第一次访问的时候,是输入密码 和 确认输入密码。
然后 通过 root + 设置的密码 直接登录。
三、遇到的坑
访问 gitlab web 报错502
我之前配置 external_url 'http://192.168.121.85:8080'
,
报错原因是 端口冲突了。
查看了 相关日志 ,显然是 端口占用了
cat /var/log/gitlab/unicorn/unicorn_stderr.log
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/socket_helper.rb:149:in `bind'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/socket_helper.rb:149:in `new_tcp_server'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/socket_helper.rb:129:in `bind_listen'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:231:in `listen'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:808:in `block in bind_new_listeners!'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:808:in `each'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:808:in `bind_new_listeners!'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:130:in `start'
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/unicorn-5.1.0/bin/unicorn:126:in `<top (required)>'
/opt/gitlab/embedded/bin/unicorn:23:in `load'
/opt/gitlab/embedded/bin/unicorn:23:in `<top (required)>'
I, [2019-08-22T22:33:52.770202 #19417] INFO -- : Refreshing Gem list
E, [2019-08-22T22:34:12.823921 #19417] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2019-08-22T22:34:12.823999 #19417] ERROR -- : retrying in 0.5 seconds (4 tries left)
E, [2019-08-22T22:34:13.324455 #19417] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2019-08-22T22:34:13.324536 #19417] ERROR -- : retrying in 0.5 seconds (3 tries left)
E, [2019-08-22T22:34:13.825283 #19417] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2019-08-22T22:34:13.825415 #19417] ERROR -- : retrying in 0.5 seconds (2 tries left)
E, [2019-08-22T22:34:14.325657 #19417] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2019-08-22T22:34:14.325762 #19417] ERROR -- : retrying in 0.5 seconds (1 tries left)
E, [2019-08-22T22:34:14.826081 #19417] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2019-08-22T22:34:14.826162 #19417] ERROR -- : retrying in 0.5 seconds (0 tries left)
E, [2019-08-22T22:34:15.326691 #19417] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
Errno::EADDRINUSE: Address already in use - bind(2) for 127.0.0.1:8080
从下图可以看出, unicorn 使用了 8080 端口
如果 端口没有冲突 ,可能就是 内存资源不够的问题,参考文档