前提要求
1,已安装mysql,添加数据库:gogs
2,git :apt-get install git

一,下载gogs
github上下载 https://github.com/gogs/gogs/releases

image-1668931506267

二,解压
解压到自己想安装的目录

tar -xzvf -C gogs_0.12.3_linux_amd64.tar.gz /data/soft

三,创建git运行用户

## 添加git用户不能登录
sudo adduser --disabled-login --gecos 'Gogs' git
## 目录分配给git用户用户组
chown -R git:git /data/soft/gogs
## 添加执行权限
chmod +x /data/soft/gogs/gogs

四,切换git用户并运行

## 切到git用户
su - git
## 开启服务
/data/soft/gogs/gogs

开启服务后可以在控制台看到运行日志

五,配置gogs
浏览器打开:服务器IP:3000

配置数据库,ssh等

配置完成后可以ctrl+c结束进程,继续下面步骤,实现服务永不断

六,编写监控shell,自动重启服务

  1. start_gogs.sh
#!/bin/sh

echo "starting..."

while :
do
    stillRunning=$(ps -ef|grep "/data/soft/gogs/gogs"|grep -v "grep")
    if [ "$stillRunning" ]
    then
        sleep 10
    else
        nohup /data/soft/gogs/gogs web >/dev/null 2>&1 &
    fi
    sleep 10
 done

说明: 每隔10查询 /data/soft/gogs/gogs 进程是否存在,不存在则开启该进

  1. 执行shell
nohup /data/soft/gogs/start_gogs.sh >/dev/null 2>&1 &