1.安装GitLab的需求

操作系统

受支持的Unix衍生版

  • Ubuntu
  • Debian
  • CentOS
  • Red Hat Enterprise Linux (使用CentOS的包和命令)
  • Scientific Linux (使用CentOS的包和命令)
  • Oracle Linux (使用CentOS的包和命令)

不受支持的Unix衍生版

  • OS X
  • Arch Linux
  • Fedora
  • Gentoo
  • FreeBSD

上面这些不受支持的Unix衍生版也可以自己手动编译安装GitLab。

非Unix操作系统(Windows)

GitLab是专为Unix操作系统开发的。 GitLab 不可 运行在Windows操作系统上,而且我们近期也没有考虑支持Windows。 你可以在Linux虚拟机上或者Docker上来安装GitLab。

Ruby版本

GitLab 需要Ruby (MRI) 2.3,自GitLab 8.13开始不再支持 2.3以下版本。

我们建议使用标准的MRI解释器来运行Ruby。 虽然大部分Ruby开发者喜欢JRubyRubinius。 但是GitLab需要原生的Gems。

硬件需求

存储

存储空间的大小主要取决于你将存储的Git仓库的大小。但根据 rule of thumb(经验法则) 你应该考虑多留一些空间用来存储Git仓库的备份。

如果你想使用弹性的存储空间,你可以考虑在分配分区的时候使用LVM架构,这样可以在后期需要的清空下添加硬盘在增加存储空间。

除此之外你还可以挂在一个支持NFS的分卷,比如NAS、 SAN、AWS、EBS。

如果你的服务器有足够大的内存和CPU处理性能,GitLab的响应速度主要受限于硬盘的寻道时间。 使用更快的硬盘(7200转)或者SSD硬盘会很大程度的提升GitLab的响应速度。

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 交换分区 是最低的要求,但我们 强烈反对 使用这样的配置。
  • 2GB 物理内存 + 2GB 交换分区 支持100用户,但服务响应会很慢。
  • 4GB 物理内存 支持100用户,也是 官方推荐 的配置。
  • 8GB 物理内存 支持 1,000 用户。
  • 16GB 物理内存 支持 2,000 用户。
  • 32GB 物理内存 支持 4,000 用户。
  • 64GB 物理内存 支持 8,000 用户。
  • 128GB 物理内存 支持 16,000 用户。
  • 256GB 物理内存 支持 32,000 用户。

即使你服务器有足够多的RAM, 也要给服务器至少分配2GB的交换分区。 因为使用交换分区可以在你的可用内存波动的时候降低GitLab出错的几率。

注意: Sidekiq的25个workers在查看进程(top或者htop)的时候会发现它会单独显示每个worker,但是它们是共享内存分配的,这是因为Sidekiq是一个多线程的程序。

2.安装

打开连接:https://about.gitlab.com/downloads/

比如我选择是CentOS6

就会有安装步骤,另外中文版安装步骤

http://www.jianshu.com/p/7a0d6917e009?mType=Group

gitlab-server环境搭建的更多相关文章

  1. gitlab+jenkins环境搭建.md

    gitlab+jenkins自动化部署环境搭建 环境说明 系统 主机 IP 安装软件 CentOS 7 study-1 192.168.100.51 gitlab.git CentOS 7 study ...

  2. [ArcGIS]ArcGIS Server环境搭建,发布服务,以及使用ArcGIS API for JavaScript

    环境搭建 安装Web服务器 IIS 控制面板-程序-程序和功能-启用或关闭Windows功能,勾选以下 安装VisualStudio,选择包括ASP.NET模块 安装ArcGIS服务器 ArcGIS ...

  3. ITFriend创业阶段的server环境搭建手冊

    创业阶段,进一步实践了Linux环境搭建和维护,以下是一些经常使用软件的搭建步骤和參考资料,仅供自己和诸位參考. 我个人还是比較倾向"一站式Web开发"的.自己想做点事.须要太多的 ...

  4. SVN server环境搭建

    VisualSVN server搭建: 1. 下载VisualSVN server for Windows安装包:https://www.visualsvn.com/ 2. 安装过程,基本就是下一步一 ...

  5. sprigcloud Eureka Server环境搭建

    1.搭建springcloud的Erueka组件,现在搭建这些套件已经变的很方便了,进入https://start.spring.io/页面,如下图: 2.选择好Eureka Server,点击Gen ...

  6. gitlab私有环境搭建

    1. 环境准备 安装所需的依赖包 yum install curl openssh-server openssh-clients postfix cronieGitLab使用postfix发送邮件 s ...

  7. Nginx + FastCgi + Spawn-fcgi + C 架构的server环境搭建

    1.Nginx 1.1.安装 Nginx 的中文维基 http://wiki.codemongers.com/NginxChs 下载 Nginx 0.6.26(开发版)(请下载最新版本号) tar z ...

  8. 使用DataSnap Server环境搭建注意的问题。

    1.Data exploer 的MYSQL文件(Libmysql.dll)放到系统的system32目录即可

  9. SQL Server 学习之环境搭建

    SQL Server 环境搭建 说明:本文是sqlServer的安装和测试环境的搭建 版本是SQLServer 2005版,由于该版本只能在Windows7或者更低的系统上才能安装,更高的系统请安装S ...

  10. 使用FileZilla Server轻松搭建个人FTP服务器

    Linux平台下快速搭建FTP服务器 服务器FTP Server环境搭建 针对以上遇到的问题的解决方案如下: 1)如何上传文件到云服务器上          关于这个问题,我首先想到的是使用FileZ ...

随机推荐

  1. leetcode — path-sum-ii

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...

  2. PE知识复习之PE新增节

    PE知识复习之PE新增节 一丶为什么新增节.以及新增节的步骤 例如前几讲.我们的PE文件在空白区可以添加代码.但是这样是由一个弊端的.因为你的空白区节属性可能是只读的不能执行.如果你修改了属性.那么程 ...

  3. jumpserver篇--安装

    参考:https://github.com/jumpserver/jumpserver/wiki/%E5%AE%89%E8%A3%85%E5%9B%BE%E8%A7%A3 服务器环境: ip:192. ...

  4. Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    一.环境需求 本帖针对的是Linux环境,Windows或其他系统也可借鉴.具体只讲述Jenkins配置以及整个流程的实现. 1.JDK(或JRE)及Java环境变量配置,我用的是JDK1.8.0_1 ...

  5. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(5)- 语音识别实现(SpeechRecognition, PocketSphinx0.1.15)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生之语音识别实现. 语音识别是Jays-PySPEECH的核心功能,Jays-PySPEECH借 ...

  6. 基于.Net进行前端开发的技术栈发展路线(二)

    前言 上一篇<我的技能树>文章分享了我的技能成长过程,还未完成,今天继续跟大家分享. 01 我的技能树 我的当前的技能树: 其中,标注为黄色旗帜的是基本掌握,标注为红色旗帜的为使用熟练.未 ...

  7. 自动化运维工具fabric使用教程

    摘要:当需要同时管理许多服务器时,如果我们一台一台登陆上去操作会显得费时又费力.此时我们可以用fabric这个包提供的API来编写python脚本完成服务器集群的统一管理. 核心原理:fabric为主 ...

  8. Java的几个基本类型之间的相互转换

    前言: 转载申明: 作者:王蒙 链接:http://matt33.com/2015/10/27/TheTransformOfJava/ 之前在写java程序的时候,经常会遇到很多的需要需要转换基础数据 ...

  9. .Net Core 实践 - 使用log4net记录日志(2)

    实现目标:将log4net的相关操作封装成一个 .Net Standard类库 demo地址:https://github.com/PuzzledAlien/log4net_demo/tree/mas ...

  10. 【转】Android播放音频MediaPlayer的几种方式介绍

    接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPl ...