CentOS 7 搭建 gogs Git 服务器

杨怀
• 阅读 3517

CentOS 7 搭建 gogs Git 服务器

本地环境如下:

Linux 系统环境为:CentOS Linux release 7.4.1708 (Core)
MySQL 版本为: mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper
Git 版本为: git version 1.8.3.1
Gogs 当前最新版本为:0.11.86

所需软件

安装步骤

  1. 创建用户名为 git 的账户,用于管理 git

    sudo adduser git
  2. 切换到 git 用户,并在其账户所在家目录,下载 Gogs

    // 切换到 git 用户
    su git  
    
    // 切换到 git 用户所在家目录
    cd ~  
    
    // 下载 gogs 压缩包
    wget https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.tar.gz
    
    // 解压缩 (解压缩之后的文件夹名为 gogs )
    tar -zxvf gogs_0.11.86_linux_amd64.tar.gz
  3. 执行 gogs 数据库文件

    // 切换到 /home/git/gogs/scripts 目录
    cd /home/git/gogs/scripts
    
    // 登录数据库 (这里采用 MySQL )
    mysql -u root -p
    
    // 执行 gogs 数据库脚本文件 
    source mysql.sql
    
    // 测试(执行完了之后可以看到已经创建好了gogs数据库)
    show databases;
  4. 配置与运行

    • 打开 gogs 文件

      vim /home/git/gogs/scripts/init/centos/gogs   
    • 核对文件信息

       19 PATH=/sbin:/usr/sbin:/bin:/usr/bin  
       20 DESC="Gogs"  
       21 NAME=gogs  
       22 SERVICEVERBOSE=yes  
       23 PIDFILE=/var/run/$NAME.pid  
       24 SCRIPTNAME=/etc/init.d/$NAME  
       25 WORKINGDIR=/home/git/gogs      # 仓库地址,可以自行修改
       26 DAEMON=$WORKINGDIR/$NAME  
       27 DAEMON_ARGS="web"  
       28 USER=git     # 如果运行 gogs 不是名为 git 的账户,则需要修改。 
       
       # 如是用 root 账户运行 gogs,则这里修改成 root
    • 切换到 root 账户,然后复制到 /etc/init.d/ 目录下

      // 切换到 root 账户
      su root
      
      // 将 gogs 文件复制到 /etc/init.d 目录下
      sudo cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/
    • 增加执行权限

      sudo chmod +x /etc/init.d/gogs
    • 复制 service

      cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
    • 开启 gogs 服务

      service gogs start
    • 运行 gogs web

      // 切换到 gogs 目录
      cd /home/git/gogs
      
      // 运行 gogs web (如果此时 Ctrl + C 关闭掉命令,此时刷新浏览器时,会无内容)
      // 执行命令后,看到有日志输出,则证明启动成功!
      ./gogs web
      
      // 后台运行 gogs
      ./gogs web >/dev/null 2>&1 &
    • 必须开启 3000 端口 (我使用的是阿里云的 ECS ,直接在阿里云后台添加 3000 的安全组规则即可)
    • 测试。( 浏览器访问 http:// 远程主机 IP 地址 :3000 )
  5. 配置反向代理

    • 在 nginx 配置文件夹中,新建 git.drling.xin.conf 文件

      vim /etc/nginx/conf.d/git.drling.xin.conf
    • 填入以下内容

      server {
      
          listen 80;
          server_name git.drling.xin;
          location / {
                  proxy_pass http://127.0.0.1:3000/;
          }
      
      }
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
一次成功:搭建K8S集群以及ISTIO环境
一、概述本文主要讲述在centos7环境下如何使用kubeadm工具快速搭建一个k8s集群。同时也讲述了如何安装Istiok8s版本:1.20.6istio版本:1.5.1二、准备工作2.1机器环境操作系统:centos764位硬件配置:2gRAM2个cpu硬盘40g|主机名|角色|IP||||
Stella981 Stella981
3年前
Linux运维高级篇—CentOS 7下Postfix邮件服务器搭建
第一章实验环境1.硬件环境:Linux服务器一台,IP地址:192.168.80.10;WIN7客户端一台,拥有OUTLOOK2013,测试用,与服务器在同一局域网内。2.Linux系统环境,如下图:!Linux运维高级篇—CentOS7下Postfix邮件服务器搭建
Stella981 Stella981
3年前
Centos8安装最新稳定版Docker
一、系统环境1.1、Centos版本信息root@Centos8Node1~cat/etc/osreleaseNAME"CentOSLinux"VERSION"8(Core)"ID"centos"ID_LIKE"rhelfedora
Stella981 Stella981
3年前
Linux上安装git并在gitlab上建立对应的项目
1.CentOS上面安装git我所用的CentOS为CentOS6.5,其他版本没有测试。yuminstallgit 安装之后查看git版本信息gitversion2.配置git信息gitconfigglobaluser.name"yourname"gitconfigglobaluser.em
Stella981 Stella981
3年前
Git私服搭建
Git私服搭建一、Git服务器搭建方式GIT是一个分布式版本管理系统,既然是分布那么必定会涉及远程通信,那么GIT是采用什么协议进行远程通信?!(https://oscimg.oschina.net/oscnet/992761469d0dd3b579df0f43987a625f43b.png)
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable