Gitlab如何搭建?

  1. 安装gitlab所需要的依赖

    sudo yum install curl policycoreutils openssh-server openssh-clients

  2. 使sshd服务自动启动

    sudo systemctl enable sshd

  3. 启动sshd服务

    sudo systemctl start sshd

  4. 安装邮件服务器

    sudo yum install postfix

  5. 使邮件服务器postfix自启动

    sudo systemctl enable postfix

  6. 启动邮件服务器postfix

    sudo systemctl start postfix

  7. 开放防火墙

    sudo firewall-cmd --permanent --add-service=http

  8. 重启防火墙

如何启动GitLab?

  1. 启动,配置

    sudo gitlab-ctl reconfigure

  2. 修改gitlab配置文件指定服务器ip和自定义端口

    vim  /etc/gitlab/gitlab.rb
    
    修改 extenal_url="" 为自己服务器的访问ip+端口或域名

    ps:注意这里设置的端口不能被占用,默认是8080端口,可以定义其它端口,并在防火墙设置开放相对应端口。

    firewall-cmd --permanent --add-port=8888/tcp
    systemctl restart firewalld.service
  3. 重置并启动GitLab

    重新配置
    gitlab-ctl reconfigure 重启
    gitlab-ctl restart

    访问gitlab:http://192.168.0.108:8099/ 或 你的域名
    说明一下,域名访问需要配置Nginx,可用Gitlab内置或外部独立的

  4. 502错误可能的原因

    1. 端口冲突
    2. 内存不足
    3. 外部Nginx访问权限不足
    4. Nginx访问请求连接被重置<我操作时Nginx配置有误导致这个问题,所以在这里mark一下>

如何使用外部Nginx?

  1. 禁用Gitlab内部的Nginx

    vim /etc/gitlab/gitlab.rb
    
    在配置中开启一下配置
    nginx['enable'] = false
  2. 修改外部Nginx配置

    upstream gitlab_server {
    server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket;
    } server {
    listen *:80; server_name gitlab.paipailicai.cn; server_tokens off; # don't show the version number, a security best practice
    root /opt/gitlab/embedded/service/gitlab-rails/public; client_max_body_size 250m; access_log /usr/local/ddanglc/gitlab/logs/gitlab_access.log;
    error_log /usr/local/ddanglc/gitlab/logs/gitlab_error.log; location / {
    try_files $uri $uri/index.html $uri.html @gitlab;
    } location @gitlab { proxy_read_timeout 300; # Some requests take more than 30 seconds.
    proxy_connect_timeout 300; # Some requests take more than 30 seconds.
    proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Frame-Options SAMEORIGIN; proxy_pass http://gitlab_server;
    } location ~ ^/(assets)/ {
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    expires max;
    add_header Cache-Control public;
    } error_page 502 /502.html;
    }
  3. 修改权限配置,让外部Nginx访问gitlab的socket文件

    sudo chmod -R o+x /var/opt/gitlab/gitlab-rails
  4. 重启 nginx, 重启gitlab

    sudo /usr/local/nginx/sbin/nginx -s reload
    sudo gitlab-ctl reconfigure

CentOS7服务器上搭建Gitlab的更多相关文章

  1. CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

    一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7centos6 ...

  2. 在Centos7服务器上搭建网关服务

    准备搭建网关的服务器环境介绍: OS:Centos7.1 网络:一块网卡,能够上网(能够连接到更外层网络),IP为192.168.7.54 内存.CPU随意 以下命令的作用依次是: 开启ip_forw ...

  3. gitLab 服务器搭建 (自己服务器上搭建gitLab)

    环境 lunix(ubuntu) 1:添加文件 在   /etc/apt/sources.list.d/gitlab-ce.list 中添加一行 deb https://mirrors.tuna.ts ...

  4. 在centos服务器上配置gitlab钩子引发的一系列问题

    为了给公司的服务器上搭建gitlab环境并且配置钩子(实现在本地git push之后服务器自动git pull),整了好久,最后终于把问题解决了,下面是记录安装gitlab之后引发的一系列问题: 首先 ...

  5. gitlab在centos7.3上搭建

    gitlab在centos7.3上搭建 最近接到gitlab+jenkins的任务,由于以前只接触过GitHub,并只是简单的使用,这里简单记录gitlab与jenkins搭建的 环境: centos ...

  6. Centos7安装部署搭建gitlab平台、汉化

    Centos7安装部署搭建gitlab平台.汉化 安装环境要求:内存不要小于4G,否则后期web界面可能会报错 一.准备工作 1.1 查看系统版本 首先查询系统版本,下载Gitlab的对应版本 [ro ...

  7. 在MAC服务器上搭建docker-registry(转)

    在MAC服务器上搭建docker-registry 2014-03-14      0个评论    来源:在MAC服务器上搭建docker-registry   收藏    我要投稿 本文介绍如何在M ...

  8. 在Ubuntu14.04系统POWER8服务器上搭建Docker Registry服务

    本文描述了如何在POWER8服务器上搭建一个本地化的Docker镜像仓库,主要涉及镜像制作,Docker Registry服务启动等.希望能够对在非X86服务器上搭建Docker仓库的同学提供参考. ...

  9. PHP绿色集成环境在云服务器上的应用,PHPWAMP在服务器上搭建网站案例

    问:什么叫WAMP?答:Windows下的Apache+Mysql+PHP,称之为WAMP. 本文案例采用的PHP集成环境是我自己开发的纯绿色版WAMP软件(PHPWAMP). 我在这款集成环境里集成 ...

随机推荐

  1. C 和 Object-C中的 #ifdef #ifndef

    很多宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条件时 ...

  2. iOS UITextField的代理<UITextFieldDelegate>的几点笔记

    今天做项目的时候,有个需求,点击按钮,就在特定的编辑框输入按钮中的文字,一开始我还以C++的思想来写,先获取光标的位置,然后在判断是否在那个编辑框,进行输入.后来我旁边的同事看到了直接教我用代理方法, ...

  3. 【js】走近小程序

    一.什么是小程序? 基于微信的可以为用户提供一些服务的web项目,利用微信提供的接口可以让所有开发者使用到微信的原生能力,去完成一些之前做不到或者难以做到的事情. 二.小程序开发工具以及语言? 小程序 ...

  4. Linux下安装Beego:go install: cannot install cross-compiled binaries when GOBIN is set

    Linux下安装Beego出错 问题:go install: cannot install cross-compiled binaries when GOBIN is set 遇到这个问题一般是在环境 ...

  5. shell重温---基础篇(文件包含)

        和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件.Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间 ...

  6. jslint

    auto execution/self execution/ Immediate function http://www.jslint.com/ (function () { 'use strict' ...

  7. BZOJ2428_均分数据_KEY

    题目传送门 这道题可以用C++的random_shuffle屮过去. random数列插入顺序,每次都插入数值和最小的那一组. #include <cmath> #include < ...

  8. mnist手写数字识别(决策树)

    import numpy as np from sklearn.neural_network import MLPClassifier from sklearn.linear_model import ...

  9. jmeter控制器(二)

    循环控制器: 顾名思义就是做循环控制的,与线程组的循环一样的,不过这里的循环控制器是用在一个单独的模块的,而在线程组里面的循环是作用于全局的.循环控制器里面设置的循环次数是局部有效,只控制自己范围内的 ...

  10. Mysql Mariadb 密码问题

    mysql密码遗忘和登陆报错问题   mysql登录密码忘记,其实解决办法很简单,只需要在mysql的主配置文件my.cnf里添加一行“跳过授权表”的参数选择即可! 在my.cnf中添加下面一行:[r ...