gitlab和github的区别想必大家都懂,这里我就不再赘述
这里我来用阿里云学生服务器centos7来演示gitlab的安装过程
首先打开你的防火墙控制台,开启防火墙规则
注(这里我用的是服务器安装,一般的服务器都默认安装了ssh的,服务器ssh这里可以输入命令也可以不用,如果是用虚拟机的就要一定要安装ssh,并且在命令前加上sudo)
首先安装ssh,
yum install -y curl policycoreutils-pythonopenssh-server
将SSH服务设置成开机自启动,安装命令:
systemctl enable sshd
启动SSH服务,安装命令:
systemctl start sshd
安装防火墙:
yum install firewalld systemd -y
开启防火墙:
service firewalld start
添加http服务到防火墙:
firewall-cmd --permanent --add-service=http
然后重启防火墙:
systemctl reload firewalld
安装Postfix以发送通知邮件:
yum install postfix
将postfix服务设置成开机自启动,安装命令:
systemctl enable postfix
启动postfix
systemctl start postfix
注意:这里如果成功那么没啥,可能会出现以下这个问题
Job for postfix.service failed because the control process exited with error code. See "systemctl st
这个时候不要慌
修改/etc/postfix/main.cf这个文件
vim /etc/postfix/main.cf
修改这两个字段为:
inet_interfaces = all
inet_protocols = ipv4
接下来添加gitlab镜像:(这里的我用的是centos7的,centos6的话另外找资料)
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
安装gitlab 安装命令:
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
注意,这里可能出现如下错误
warning: gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
这个是缺少gitlab 的依赖
下载依赖:
yum -y install policycoreutils openssh-server openssh-clients postfix
然后再执行:
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
然后修改gitlab的配置文件
vim /etc/gitlab/gitlab.rb
找到external_url这个字段,把里面的值修改为http://你的服务器ip:你的端口
,比如http://36.102.3.26:8899
,然后保存退出
这里注意啦!!!
这里我用的是开启防火墙配置的,所以要先看看防火墙开启没有
firewall-cmd --state
如果没开启就开启防火墙:systemctl stop firewalld.service
然后看一下你有没有开启你配置的端口
firewall-cmd --zone=public --list-ports
如果没有就添加端口,并且重启
firewall-cmd --zone=public --add-port=8899/tcp --permanent # 开放8899端口
firewall-cmd --reload # 配置立即生效
然后执行命令
gitlab-ctl reconfigure
然后
gitlab-ctl restart
这样就可以通过你的服务器ip:你的端口就可以访问gitlab了,这个是成功画面
这个是要你重新配置你的密码,默认的账号是root
注意,第一时间是看错误日志,而不是立马去谷歌百度,因为每一个人的错误都是不同的
第一时间要查看错误日志,而不是查百度,因为每个人的错误都不同
# 看看unicorn启动日志
cat /var/log/gitlab/unicorn/unicorn_stderr.log
# 然后再看看gitlab日志,看看是哪里出错
tail -100 /var/log/gitlab/gitlab-rails/production.log
每个人的错误都不同,根据错误日志的问题再去百度谷歌才是正道理
端口错误都是端口被占用,当然按照我上面的方法是不会出现这个情况的
此时继续修改配置文件
vim /etc/gitlab/gitlab.rb
看看你的错误日志,我的是8080端口被占用,改端口就行了
找到以下字段取消注释并且修改:
# unicorn['port'] = 8090 #千万不要是原来的8899端口啊,8090也是我打开过的端口,一样的话好像会报404的
但是最大的问题就是内存爆满,用命令看看free -h
,或者用htop
看看,我相信大部分人都跟我一样,物理内存爆满
用这两个命令一看!,swap去哪了,哦吼,查了一下阿里云默认不开启swap,那么看以下的方法
阿里云默认情况下是不启用swap的,不通过取消swap降低磁盘IO占用率怎么让你去买他更好的服务器呢,这里不多哔哔
cat /proc/swaps
dd if=/dev/zero of=/data/swap bs=512 count=8388616
swap的大小是count的大小乘以bs大小,上面命令的大小是4294971392,即4GB
mkswap /data/swap
cat /proc/sys/vm/swappiness
sysctl -w vm.swappiness=60
#永久修改
若想永久修改,则编辑/etc/sysctl.conf文件,改文件中有vm.swappiness变量配置,默认为0
注:若想永久修改,则编辑/etc/sysctl.conf文件
swapon /data/swap
echo “/data/swap swap swap defaults 0 0” >> /etc/fstab
cat /proc/swaps
gitlab-ctl restart
哦吼,这不就,好起来了吗
再运行gitlab看看
运行速度如丝般顺滑,刚部署好不知道多少倍,除此之外可能还有其他的bug,但是这个看错误日志修改就好了
注意:如果修改了配置文件,一定要执行以下命令
gitlab-ctl reconfigure
gitlab-ctl restart
如果配置了还是502,耐心等一等,等那么一分钟左右就好了
这个运行速度慢折腾了我一下午,问题归根结底就是…服务器配置太烂了,性能差就会经常出现502,因为官方推荐的服务器性能是最低 双核 + 8GB RAM,所以这里只能使用swap才能正常使用
gitlab的使用方法是和github差不多的,可以用git命令行执行,也可以用sourcetree直接clone下来
解决问题使用到的博客
gitlab服务器经常出现502(阿里云搭建)
阿里云云主机添加swap分区与swap性能优化
gitlab占用内存过大
,也可以用sourcetree直接clone下来
解决问题使用到的博客
gitlab服务器经常出现502(阿里云搭建)
阿里云云主机添加swap分区与swap性能优化
gitlab占用内存过大