CentOS 7 搭建 gogs Git 服務器

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.86mysql

所需軟件

安裝步驟

  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. 配置與運行linux

    • 打開 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 的安全組規則便可)nginx

    • 測試。( 瀏覽器訪問 http:// 遠程主機 IP 地址 :3000 )git

  2. 配置反向代理web

    • 在 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/;
        }
    
    }
相關文章
相關標籤/搜索