centos7 安装gitlab及遇到的问题
安装需要的依赖
在 CentOS 7上,下面的命令也会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问极狐GitLab,则可以跳过它。
sudo yum install -y curl policycoreutils-python openssh-server perl sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo systemctl reload firewalld
下一步,安装 Postfix 以发送电子邮件通知。如果您想使用其他解决方案发送电子邮件。
sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix
在安装 Postfix 的过程中可能会出现一个配置界面,在该界面中选择“Internet Site”并按下回车。把“mail name”设置为您服务器的外部 DNS 域名并按下回车。如果还有其它配置界面出现,继续按下回车以接受默认配置。
如果执行到上面第二条命令,报了这样一条信息:Job for postfix.service failed because the control process exited with error code. See “systemctl status postfix.service” and “journalctl -xe” for details.
解决方法:修改 /etc/postfix/main.cf的配置并保存
inet_interfaces = all
inet_protocols = ipv4
下载gitlab
官方的链接是:jh发行版的。这里我采用离线安装CE版的方法,打开官网安装包地址, 手动下载的,选择了15.0.2这个版本,注意Distro/Version 选择el/7
之后用下面命令安装:
yum install /usr/local/yum install /usr/local/gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm
安装时间比较长大概3分钟左右,安装成功后会有个狐狸的图案。
配置文件修改
修改/etc/gitlab/gitlab.rb文件
external_url 'http://[remote_ip]:[port]'
修改完成后使用:gitlab-ctl reconfigure 启动gitlab
遇到的问题及解决方法
ruby_block[authorize Grafana with GitLab] action run 超时
解决方法:
打开gitlab.rb文件,将其中grafana的配置做以下修改
grafana['enable'] = false
重新执行gitlab-ctl reconfigure命令,大约1分钟左右,提示gitlab Reconfigured!
PS:也可以在配置external_url的时候一块修改,减少一次启动
配置完成后502
第一个原因是内存不足,查看内存命令:free -m
解决方法1:
这个只能物理扩容了。
解决方法2:
swap
swap被称作交换分区,当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
一般swap的是大小设置为当前系统内存的1被或2倍,我这里设置的4G的swap内存。
使用dd命令创建一个swap交换文件 dd if=/dev/zero of=/mnt/swap bs=1024 count=4096000 制作为swap格式文件 mkswap /mnt/swap 用swapon命令将该文件挂载swap分区 swapon /mnt/swap 为了防止重启后,swap分区变成0, 需要修改/etc/fstab文件 vi /etc/fstab 在文件最后一行加上 /mnt/swap swap swap default 0 0
设置好后,执行free -m可以看到swap分区已经有了
第二个原因是端口被占用,可以用命令:netstat -nlpt 查看
解决方法:
修改/etc/gitlab/gitlab.rb中的external_url 端口为不被占用后,重新gitlab-ctl reconfigure。
无法访问此网站
我使用的external_url是ip+端口,出现这个问题是因为防火墙没有开放这个端口
解决方法:
firewall-cmd --permanent --zone=public --add-port=9000/tcp # 9000为你gitlab配置的端口号 firewall-cmd --reload
之后刷新浏览器问题解决