想自己搭建一个 git 服务来玩一玩,正好有个阿里云,虽然配置很渣,但是也想着随便搞一搞。
于是从官方教程开始,遇到一些坑,查看一些资料,解决一些问题,有了下面的笔记。
选择对应的版本。我的阿里云装的是 CentOS 7
,所以选择 CentOS 7
的版本。
通过下面的命令可以查看当前属于什么系统
1 | lsb_release -a |
安装和配置一些必要的依赖
Step1
通过下面的命令,在系统防火墙中开启 HTTP 和 SSH 的访问。
1 | sudo yum install -y curl policycoreutils-python openssh-server |
在执行
sudo firewall-cmd --permanent --add-service=http
时可能会遇到 FirewallD is not running
的错误提示;
意思是:防火墙服务没有运行
。这开启防火墙服务就行了:
1 | systemctl start firewalld.service |
然后重新执行命令就会提示 success
Step 2
执行下面命令,安装并开启 Postfix
邮件通知服务
1 | sudo yum install postfix |
这里遇到一个报错
解决办法是修改 /etc/postfix/main.cf
文件中的下面信息
1 | inet_interfaces = all |
然后重启服务就好了:
1 | sudo systemctl restart postfix |
添加 GitLab 软件包的仓库,并安装
安装 GitLab
1 | curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash |
设置 GitLab 访问域名
1 | sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee |
注意:这里 http://gitlab.example.com
替换成对应的域名或者IP
我这里设置成 IP 加 8888 端口,这需要在阿里云上配置安全组规则,出入方向都要配置对应端口。例如:
然后设置防火墙:
1 | 开启 8888 端口 |
然后再执行下面的命令,等待安装完毕(安装过程可能比较久)
1 | sudo EXTERNAL_URL="http://xx.xx.xx.xx:8888" yum install -y gitlab-ee |
如果安装完之后要修改访问的域名或者 IP,则修改 /etc/gitlab/gitlab.rb
文件中的 external_url
内容
然后重新配置服务
1 | gitlab-ctl reconfigure |
然后就可能用设置的域名(IP)访问了。
登录
第一次打开,会打开密码设置页面,让你设置密码。
设置密码之后,使用用户名 root 和设置的密码登录。
最后来个登录成功的图:
遇到的问题
一些常用命令
1 | //启动 |
开启阿里云 SWAP
刚安装结束,开启 GitLab 之后,阿里云就开始卡爆了,GitLab 也直接无法访问,或者是直接 502,白忙活的半天!内存爆炸了啊!这时候想到阿里云好像是没开启 SWAP 的。于是就有了下面的内容。
查看 swap 分区:
1 | cat /proc/swaps |
发现是空的,下面来开启 swap
详情参考:云服务器 ECS Linux SWAP 配置概要说明
创建swap大小为bs(block_size)*count(number_of_block)=4G
1
dd if=/dev/zero of=/mnt/swap bs=1M count=4096
设置交换分区文件
1
mkswap /mnt/swap
立即启用交换分区文件
1
swapon /mnt/swap
权限设置
提示:swapon: /mnt/swap:不安全的权限 0644,建议使用 0600,设置权限
1
chmod 0600 /mnt/swap
然后重新启用
设置开机时自启用 SWAP 分区
需要修改文件 /etc/fstab 中的 SWAP 行,在文件末位添加
1
/mnt/swap swap swap defaults 0 0
修改 swpapiness 参数
1
cat /proc/sys/vm/swappiness
通过上面命令看到 swappiness 值为 0,需要在物理内存使用完毕后才会使用 SWAP 分区
我们配置为空闲内存少于 10% 时才使用 SWAP 分区
1
echo 10 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并修改以下内容:
1
vm.swappiness=10
开启 SWAP 之后,GitLab 就能访问了!
总结
这篇笔记,主要是记录一下这次安装 GitLab 遇到的坑,以及对应的解决方案。
参考资料:
- 本文链接: https://blog.hhking.cn/2018/11/24/aliyun-gitlab-install/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!