gitlab卡顿问题解决

云服务器搭建GitLab
因为暑期项目需要,Gitee,GitHub等多人协作的名额又少,所以选择了在自己的服务器上搭建了一个Gitlab。期间遇到了很多坑,在这里都记录下来。这里要特别感谢两篇博客,起到了极大的帮助。这里给出链接

  1. Ubuntu搭建GitLab笔记

  2. 阿里云,腾讯云搭建 gitlab 服务器卡顿问题解决方法

搭建环境
服务器
ESC:阿里云学生机,1核,2G。

操作系统:Ubuntu 16.04 64位

需要工具
SSH工具

操作
安装
其实一开始照着给的第一篇博得那么做就可以了,这里简单给出命令,详情参考链接:

  1. 安装一些依赖:
    sudo apt-get install curl openssh-server ca-certificates postfix

2.安装GitLab
sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

sudo apt-get install gitlab-ce

3.更改配置
vim /etc/gitlab/gitlab.rb
将external_url = 'http://git.example.com’修改为自己的域名地址:http://example.com,默认为80端口,如要使用其他端口后面加上端口号,如:http://127.0.0.1:8080

4.重置,过程可能会非常慢长,请静心等待。
sudo gitlab-ctl reconfigure
运行相关命令
启动:sudo gitlab-ctl start
停止:sudo gitlab-ctl stop
重启:sudo gitlab-ctl restart
后记
安装之后,傻眼了。爆出了502错误,一般是因为GitLab运行需要消耗大量的内存。而我这可怜的小小的学生机架不住造,于是就出现了502。查看CPU占用100%,然后 for a long time。然后ssh也无法连接,我的博客也打不开了,我直接重启了。如果你要重启的话,要温柔。强制重启可能数据会丢失。

重启之后,阴差阳错的可以访问了,但是巨卡啊,过一会又502了,这可不行,然后就有下一步的操作:

解决GitLab搭建后卡顿的问题
这里就用到了开头给出的第二个链接,我也就列举一下命令吧,直接照做就可以。

+. 查看 swap 分区
cat /proc/swaps

如果只有标题栏,而查不出来数据,那就是没有swap分区。下面是解决方法:

  1. 创建swap分区(有的同学可能是 /data/swap ,但我是/mnt/swap)
    dd if=/dev/zero of=/mnt/swap bs=512 count=8388616

  2. 通过mkswap命令将上面新建出的文件做成swap分区
    mkswap /mnt/swap

  3. 查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
    -. 查看参数
    cat /proc/sys/vm/swappiness
    -. 若是0设置参数
    sysctl -w vm.swappiness=60

  4. 启用分区
    swapon /mnt/swap
    echo “/mnt/swap swap swap defaults 0 0” >> /etc/fstab

  5. 再次查看swap分区是否启动,有数据则说明设置成功了
    cat /proc/swaps
    邮件发送不成功
    部署完了,嘚瑟嘚瑟。然后赶忙邀请成员,啧啧啧,群消息@了一堆人,然后都说邮箱并没有收到消息。哎,哎,哎。继续整。

端口设置
这里给个链接吧,介绍邮件服务的端口:邮件服务端口介绍

配置文件修改
在 /etc/gitlab/gitlab.rb中添加如下内容

gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.163.com”
gitlab_rails[‘smtp_port’] = 465
gitlab_rails[‘smtp_tls’] = true
gitlab_rails[‘smtp_user_name’] = “[email protected]
gitlab_rails[‘smtp_password’] = “xxx”
gitlab_rails[‘smtp_domain’] = “smtp.163.com”
gitlab_rails[‘smtp_authentication’] = “login”
gitlab_rails[‘smtp_enable_starttls_auto’] = true

修改gitlab配置的发信人

gitlab_rails[‘gitlab_email_from’] = “[email protected]
user[“git_user_email”] = “[email protected]
注意要查看安全组对应端口号是否打开。还有就是我这是照着网上搜到的进行配置,但是我自身配置过后更新重启并没有生效。然后添加过成员后,成员只要用相应的邮箱进行注册就会自动在组内。所以暂时没有管这些了。如果有知道的,还请指点。

使用DockerCompose搭建GitLab
环境准备
/usr/local下新建docker/目录,docker下新建gitlab目录。
进入 gitlab目录,新建 docker-compose.yml文件。文件内容如下:
version: ‘3’
services:
gitlab:
image: ‘twang2218/gitlab-ce-zh’
restart: always
hostname: ‘用自己主机的ip’
environment:
TZ: ‘Asia/Shanghai’
GITLAB_OMNIBUS_CONFIG: |
external_url ‘http://用自己主机的ip:8099’
gitlab_rails[‘time_zone’] = ‘Asia/Shanghai’
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.aliyun.com”
gitlab_rails[‘smtp_port’] = 465
gitlab_rails[‘smtp_user_name’] = “[email protected]” #用自己的aliyun邮箱
gitlab_rails[‘smtp_password’] = “这是密码”
gitlab_rails[‘smtp_domain’] = “aliyun.com”
gitlab_rails[‘smtp_authentication’] = “login”
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘smtp_tls’] = true
gitlab_rails[‘gitlab_email_from’] = ‘[email protected]
gitlab_rails[‘gitlab_shell_ssh_port’] = 2222
unicorn[‘port’] = 8099
nginx[‘listen_port’] = 8099
ports:
- ‘8099:8099’
- ‘443:443’
- ‘2222:22’
volumes:
- /usr/local/docker/gitlab/config:/etc/gitlab
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab
~
最后
我服务器在重启之后,应该是没有启动指定位置下的nginx.conf 文件,所以造成了有的代理转发失效。等到重启的时候,报错,显示端口被占用。然后,丧心病狂,进程杀不死,就是GitLab的进程,就是杀不死啊。。。。然后,找了好多种方法,最后想到,把GitLab关了不就完了,然后问题解决。,感觉自己就是个沙雕。。

你可能感兴趣的:(gitlab卡顿问题解决)