环境

centos6.5

这里有官网安装地址教程:

https://www.gitlab.com.cn/installation/#centos-6

这里有机器配置安装需求

https://docs.gitlab.com.cn/ce/install/requirements.html

CPU

1 核心CPU最多支持100个用户,所有的workers和后台任务都在同一个核心工作这将导致GitLab服务响应会有点缓慢。

2核心 支持500用户,这也是官方推荐的最低标准。

4 核心支持2,000用户。

8 核心支持5,000用户。

16 核心支持10,000用户。

32 核心支持20,000用户。

64 核心支持40,000用户。

如果想支持更多用户,可以使用 集群式架构

Memory

安装使用GitLab需要至少4GB可用内存(RAM + Swap)! 由于操作系统和其他正在运行的应用也会使用内存, 所以安装GitLab前一定要注意当前服务器至少有4GB的可用内存. 少于4GB内存会导致在reconfigure的时候出现各种诡异的问题, 而且在使用过程中也经常会出现500错误.

1GB 物理内存 + 3GB 交换分区 是最低的要求,但我们 强烈反对 使用这样的配置。 查看下面unicorn worker章节获取更多建议。

2GB 物理内存 + 2GB 交换分区 支持100用户,但服务响应会很慢。

4GB 物理内存 支持100用户,也是 官方推荐 的配置。

8GB 物理内存 支持 1,000 用户。

16GB 物理内存 支持 2,000 用户。

32GB 物理内存 支持 4,000 用户。

64GB 物理内存 支持 8,000 用户。

128GB 物理内存 支持 16,000 用户。

256GB 物理内存 支持 32,000 用户。

如果想支持更多用户,可以使用 集群式架构

安装步骤

安装配置依赖项

如想使用Postfix来发送邮件,在安装期间请选择’Internet Site’. 您也可以用sendmai或者 配置SMTP服务 并 使用SMTP发送邮件.

在 Centos 6 系统上, 下面的命令将在系统防火墙里面开放HTTP和SSH端口.

sudo yum install curl openssh-server openssh-clients postfix cronie -y
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh

添加GitLab仓库,并安装到服务器上


curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce

如果你不习惯使用命令管道的安装方式, 你可以在这里下载 安装脚本 或者 手动下载您使用的系统相应的安装包(RPM/Deb) 然后安装

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpm
rpm -ivh gitlab-ce-XXX.rpm

安装包地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/?C=M&O=A

启动GitLab

sudo gitlab-ctl reconfigure
  • 下边就可以访问了:

  • 重置下密码。登录效果如下:

配置

gitlab仓库存储位置的修改方法

gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data/repositories,通常需要更改此路径到单独的一个分区来存储仓库的数据。

例如我这里把数据存放到/data/gitlab目录下

创建/data/gitlab目录

mkdir -p /data/gitlab

修改gitlab配置文件,找到git_data_dir

vim /etc/gitlab/gitlab.rb

在git_data_dir下面添加一句

git_data_dir "/data/gitlab"

停止当前gitlab,重新加载配置

gitlab-ctl stop

gitlab-ctl reconfigure

重新加载后,会发现在/data/gitlab目录下多出一个repositories目录

最后启动gitlab即可

gitlab-ctl start

GitLab服务器启用https

  • 修改配置文件:
sudo vim /etc/gitlab/gitlab.rb

修改为如下:



  • 生成秘钥与证书:

    由于生成秘钥与证书比较麻烦,写成一个脚本(见附件,需改名字为ssl_genKey.sh)。出现输入信息的地方输入相应的信息,首先是域名/地址,后面需要输入4次证书的密码,密码任意指定,但4次输入得一致。

生成的如下:



其中圈出来的是有用的,其他的可以删掉。

移到相应的位置:

sudo mkdir -p /etc/gitlab/ssl

sudo chmod 700 /etc/gitlab/ssl/ -R

sudo cp 172.16.4.112.crt /etc/gitlab/ssl/server.crt

sudo cp 172.16.4.112.key /etc/gitlab/ssl/server.key
  • 重建配置:
sudo gitlab-ctl reconfigure

浏览器即可使用https访问:

注意

  • 防火墙端口访问开启

  • 配置邮件发送邮箱

  • 测试邮件发送命令

Q&A

注意事项以及异常故障排查:

  • 按照该方式,我安装了一个确实没问题,只不过是英文版。没有经过汉化(汉化请参考后边的教程)。

  • 默认安装登录需要重置root密码。可以自己单独设置一个复杂密码后登录。

  • gitlab本身采用80端口,如安装前服务器有启用80,安装完访问会报错。需更改gitlab的默认端口。

修改vim /etc/gitlab/gitlab.rb:

external_url 'http://localhost:90'

如果就想用80端口,那没问题。如果更改了端口,后边可以自行调整nginx配置文件进行nginx反向代理设置。

  • 这里可以绑定自己的gitlab的域名或者公网、内网IP替换localhost进行公网访问,具体根据自己的实际情况。安全起见,一般会将gitlab部署于内网。具体部署到哪里,请根据自己的实际情况来定。(基于安全原因,这里不建议设置公网IP进行暴露,可以通过nginx设置IP绑定进行return或者其他规则进行IP回避访问。)

本站测试gitlab地址域名为:gitlab.21yunwei.com

  • unicorn本身采用8080端口,如果你那里没有8080使用,可以后边不用修改了。如安装前服务器有启用8080,安装完访问会报错。需更改unicorn的默认端口:

修改 /etc/gitlab/gitlab.rb:

unicorn['listen'] = '127.0.0.1'

unicorn['port'] = 3000
  • 每次重新配置,都需要执行sudo gitlab-ctl reconfigure 使之生效。

  • 日志位置:/var/log/gitlab 可以进去查看访问日志以及报错日志等,供访问查看以及异常排查。

gitlab-ctl tail #查看所有日志

gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志

使用

  • 建议公司内部使用把自主注册功能关闭

  • 由管理员统一按照申请生成账号

私有git服务器搭建-gitlib版的更多相关文章

  1. 用腾讯云Gogs搭建私有git服务器

    前言 经常有需要写不能公开代码的项目,所以只好自己搭建一个私人的git服务器 Gogs的好处在于比Gitlib轻量化了好多,而且是国人写的,官方主页也是中文的 Gogs首页 腾讯云服务器配置: Ubu ...

  2. 利用阿里云搭建私有Git服务器

    服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...

  3. [开发笔记usbTOcan]用树莓派搭建私有Git服务器

    0 | 思路 在开始编程前,先创建一个版本管理库,以前一直用SVN,但目前用Git的还是比较,正好利用这个机会学习GIt. 想过使用Github提供的免费服务器,但项目目前还没有做开源的准备,于是就有 ...

  4. ECS之Git服务器搭建

    最简教程 ### . 安装Git 安装Git服务,命令如下: ```Shell $ yum install curl-devel expat-devel gettext-devel openssl-d ...

  5. Git-Runoob:Git 服务器搭建

    ylbtech-Git-Runoob:Git 服务器搭建 1.返回顶部 1. Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看 ...

  6. 【第十二篇】- Git 服务器搭建之Spring Cloud直播商城 b2b2c电子商务技术总结

    Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,2019 年开始 Github 私有存储库也可以无限制使用. 这当然我们也可以自己搭建一台 Git 服 ...

  7. 基于阿里云服务器的git服务器搭建

    使用阿里云Ubuntu 12.0.4 64位操作系统做git服务器. 首先git服务器有两种访问方式可以选择:http方式和ssh的方式,http方式更容易使用. 1.http方式的git服务器搭建以 ...

  8. CentOS 6.5下Git服务器搭建

    1 . Git服务器搭建 1. 环境部署 系统环境:服务器端:CentOS 6.5 ,ip:192.168.56.1 客户端:CentOS 6.5 ,ip:192.168.56.101 软件版本:服务 ...

  9. 搭架私有Git服务器Gogs

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:搭架私有Git服务器Gogs.

  10. 【转】Windows平台下Git服务器搭建

    Windows平台下Git服务器搭建 Posted on 2015-05-18 21:29 阿祥当码农 阅读(7637) 评论(0) 编辑 收藏 该文章转自:http://www.codeceo.co ...

随机推荐

  1. [转帖] jq实现json文本对比

      原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 近期,为了给一个核心系统减负,组内决定将一些调用量大的查询接口迁移到另一个系统,由于接口逻辑比较复杂,为了保 ...

  2. vue3新特性teleport传送原来这么神奇

    我对teleport的理解 teleport有传送的意思,读音[te li po t][嘻嘻],看官们应该知道读啥子了吧 它可以将你写的代码传送到某一个地方 传送到哪一个地方呢? 传送到你标记的地方, ...

  3. vue动画进入-完整的动画/有进入离开

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 【调研】VictoriaMetrics的上报api能否替换prometheus的api?

    prometheus的上报api在:https://github.com/prometheus/client_golang VictoriasMetrics的上报API在:https://github ...

  5. Abp 模板更换数据库 版本为V5.x,遇到的问题

    数据库的选择: Mysql使用5.0.0的版本,根据在下面的依赖项 大于等于5.0.5 && 小于6.0.0 Microsoft.EntityFrameworkCore.Tools和M ...

  6. Pytorch分布式训练,其他GPU进程占用GPU0的原因

    问题 最近跑师兄21年的论文代码,代码里使用了Pytorch分布式训练,在单机8卡的情况下,运行代码,出现如下问题. 也就是说GPU(1..7)上的进程占用了GPU0,这导致GPU0占的显存太多,以至 ...

  7. 中文多模态医学大模型智能分析X光片,实现影像诊断,完成医生问诊多轮对话

    中文多模态医学大模型智能分析X光片,实现影像诊断,完成医生问诊多轮对话 1.背景介绍介绍 最近,通用领域的大语言模型 (LLM),例如 ChatGPT,在遵循指令和产生类似人类响应方面取得了显著的成功 ...

  8. 【3】jupyter notebook【修改主题、字体、字号、代码自动补全、变更工作目录、添加目录插件、解决工具栏隐藏问题、修改默认浏览器、默认打开位置】

    相关文章: [1]Anaconda安装超简洁教程,瞬间学会! [2]Anaconda下:ipython文件的打开方式,Jupyter Notebook中运行.py文件,快速打开ipython文件的方法 ...

  9. Windows安装MySQL8.0.31

    环境 Windows 10 mysql 8.0.31 配置 下载mysql 下载地址:https://dev.mysql.com/downloads/mysql/ 点击"Download&q ...

  10. P9474 [yLOI2022] 长安幻世绘题解

    题目链接: [yLOI2022] 长安幻世绘 比较不错的综合题.考虑下处理极差的绝对值我们应该怎么做,很显然排序是有必要的,我们需要带着下标排序. 考虑几个核心点: 1.假如没有其他限制考虑极差与序列 ...