您的位置:首页 > 运维架构 > Linux

CentOS 7 搭建 gogs Git 服务器

2019-05-01 22:28 155 查看

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
  1. 切换到 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
  1. 执行 gogs 数据库文件
// 切换到 /home/git/gogs/scripts 目录
cd /home/git/gogs/scripts

// 登录数据库 (这里采用 MySQL )
mysql -u root -p

// 执行 gogs 数据库脚本文件
source mysql.sql

// 测试(执行完了之后可以看到已经创建好了gogs数据库)
show databases;
  1. 配置与运行

      打开 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 )

  2. 配置反向代理

      在 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/;
    }
    
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Gogs CentOS Linux Git