初体验之开源Git服务Gogs

3,097 阅读2分钟

gogs搭建教程

  • 是否觉得Gitlab吃内存?是否觉得高富帅和屌丝直接差的是服务器配置?推荐一款开源的git服务器Gogs,从此翻身做富帅;
  • Gogs具有占用内存小,速度快,并发高的特点;1核2G云服务器稳稳带起;


在我体验完Gogs给我带来的快感以后,不得不说go是门迷人的语言;
废话不多说,开始我们的安装教程;

gogs宗旨

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台;

安装教程

我采用的是二进制安装,更多安装见官方教程

  • 登录服务器,选择下载目录

  • 下载tar包,并解压
wget https://dl.gogs.io/0.11.66/gogs_0.11.66_linux_amd64.tar.gz

tar -zxvf gogs_0.11.66_linux_amd64.tar.gz

  • 在gogs同级目录创建/custom/conf/app.ini目录

原因见官方说明

mkdir -p custom/conf

vim custom/conf/app.ini

  • 设置 custom/conf/app.ini 以便覆盖原有配置

详情配置见app.ini

因为我自定义数据配置,所以我在app.ini里添加了以下配置,其他的暂时采用默认的,等安装完毕后再定义;

[database]
USER = gogs
PASSWD = ******


  • 为gogs创建mysql库及创建用户和授权

官方mysql建议版本5.7以上

附带lamp脚本可安装mysql

创建gogs库

mysql -uroot -p
create database gogs;

创建用户并授权

create user 'gogs'@'localhost' identified by 'password';
grant all privileges on gogs.* to gogs;
flush privileges;


  • 配置nginx

nginx 安装教程;官方安装教程,宝塔安装

server {

        listen       80;
        
        server_name  你的域名;
        
        location / {
            index index.html;
            proxy_pass http://127.0.0.1:3000; # gogs默认是3000端口,不建议修改,请打开3000的防火墙
            proxy_set_header X-real-ip $remote_addr;
              proxy_set_header Host $http_host;
        }


  • 后台启动gogs
cd /usr/local/gogs

nohup ./gogs web &

  • 启动后访问网站并安装
http://ip/install


  • gogs 支持从外部迁移仓库

可从码云、github上迁移代码

  • install安装完成后需要个性化配置,需要根据手册编辑之前创建的custom/conf/app.ini

效果图演示请见gogs演示

gogs官网地址 gogs帮助文档地址