使用GOGS搭建自己的Git托管
大家在开发中一般使用的git服务都是公司搭建好的,或者就是直接用gayhub提供的免费的仓库
如果想搭建一个自己的仓库的话怎么弄,这里给大家安利一款开箱即用的git托管服务:gogs。
gogs是基于Golang编写的,占用的资源非常的低,你有个树莓派就能跑,而且搭建非常容易,接下来开始演示如何搭建。
操作环境:阿里云ECS服务器配置:单核2GB内存 ;操作系统: CentOs 7 x64
注:本文操作全部基于yum进行安装,其他操作系统可自行更换对应指令
第一步:安装git
命令 yum install git
效果如图
第二步:下载gogs二进制文件
下载地址:https://gogs.io/docs/installation/install_from_binary
选择linux 64位的安装包,至于是下载zip还是tar根据自己的喜好,我这下载的tar
命令: wget gogs 文件地址
也可以直接用浏览器下载下来再传到linux服务器上去,我就是这么干的,因为我发现在服务器上直接下载,网速快卡到它姥姥家去了
下载好之后,找一个自己喜欢的文件夹,把gogs的文件解压到那里,我这里演示直接放到了/home;
命令:
cd /home 切换目录到/home
tar -xvf gogs_0.11.91_linux_amd64.tar.gz (解压gogs压缩包,注意压缩包名要用自己下载好的,别直接copy我的命令,偷懒一时爽,菊花火葬场)
解压完以后,会出现一个gogs文件夹,进入到里面,执行命令: ./gogs web
gogs就启动了,并且监听了3000端口,此时你访问3000端口就可以看到页面
我的服务器已经对外开放了3000端口,直接用ip:3000访问,会出现gogs的第一次配置页面,但是我们先不要配置,因为现在是前台启动模式,只要你的shell一关gogs就关了,所以接下来我们配置
一下后台启动。
第三步:配置后台运行
我们在 gogs/scrpts/systemd 下找到gogs的服务文件,我这一步一步的进是为了方便读者阅读,正常装的时候可以一步到位
然后我们把这个服务文件放到 /etc/systemd/system下
但是在移动前,我们需要先对这个service文件更改一下,把里面的工作路径和执行命令改成正确的
WoringDirectory 是你gogs的目录,ExeStart是服务启动时会执行的命令,都换成你自己的路径,用户我用的root
不知道用哪个用户用root就对了老弟
然后把这个gogs.service 复制到/etc/systemd/system文件下
执行以下命令
systemctl enable gogs.service
systemctl start gogs
systemctl status gogs
出现下图说明你已经成功的安装好了gogs,并且配置好了守护进程,访问3000端口,会出现之前的页面
访问ip+端口3000进入设置页面,进行gogs的基础设置
gogs会把你的提交记录记录在数据库中,gogs支持很多数据库,MySql pgSQL.....,并且自带了SqlLite,如果你不想装其他数据库的直接用默认的sqlLite就行,亲民的要死
我这里用的是Mysql ,不知道linux下怎么安装mysql的可以参考我这篇文章:https://www.cnblogs.com/Tassdar/p/9583790.html
配置好数据库之后无脑下一步就可以了,安装好之后的页面是这样的
第四步:配置反向代理
直接通过ip+端口这宗方式访问也不是不行,就是看起来有点low B,所以作为一个专业的程序员,我们还是专业一点,配个域名
首先解析一个二级域名出来 gogs.xiaocui.site
然后安装nginx
命令:
yum install nginx
systemctl start nginx
systemctl status nginx
出现下图说明你已经ok了,如果还不行,自行百度。
进到 /etc/nginx 目录下修改nginx.conf ,配置反向代理
添加一个新的配置节点,或者添加一个新的配置文件都行,看你怎么喜欢怎么来
配置完之后执行 nginx -t 检查配置文件,如果不是successful,按照报错内容和行号去检查问题
然后执行 nginx -s reload 重新加载配置文件
最后访问域名,完美。