Gogs是一款极易搭建的自助 Git 服务,相比臃肿的Gitlab,Gogs更加轻量,资源要求更低,甚至您可以在Arm架构的树莓派安装,搭建过程也比Gitlab简单很多,Gogs更加适合个人或小团队使用。
一、创MySQL建数据库
在创建数据库的时候授权地址建议填写127.0.0.1
,并且以用户名 开头的数据库 (username%) 授予所有权限,使用phpmyadmin作为演示,如下截图。
二、二进制安装
#64位二进制安装包
wget http://7d9nal.com2.z0.glb.qiniucdn.com/0.11.4/linux_AMD64.tar.gz
#解压
tar -zxvf linux_amd64.tar.gz
#进入安装目录
cd gogs
#运行Gogs,然后没有然后了
./gogs web
#放行端口,如果是IPtables
/sbin/iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
service iptables save
service iptables restart
输入上面的命令,防火墙放行3000端口,没有报错的情况下访问http://IP:3000进行访问安装,安装需要注意的就是数据库填写那里,请参考上一步骤创建数据库,否则可能无法连接。
三、Nginx反向代理
每次都使用http://IP:3000是不是很不方便?可以使用反向代理实现域名访问,以下是个人反向代理配置(已启用HTTPS),一般添加到vhost/xxx.conf
,并重启Nginx
server
{
listen 443 ssl http2;#监听443端口,并启用HTTP/2
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #允许的协议
#SSL证书路径
ssl_certificate /data/ssl/xxxooo.com/xxxooo.com.pem;
ssl_certificate_key /data/ssl/xxxooo.com/xxxooo.com.key;
server_name xxxooo.com;
charset utf-8,gbk;
location / {
proxy_pass http://localhost:3000;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#301重定向,http跳转到https
server
{
listen 80;
server_name xxxooo.com;
rewrite ^(.*) https://xxxooo.com$1 permanent;
}
注意如果您启用HTTPS后请修改custom/conf/app.ini
将ROOT_URL
也修改为https地址。
四、总结
Gogs安装可以说非常简单(假设您已经有Linux基础),官方文档也非常详细。GitHub作为第三方git仓库无疑是非常优秀的,但是GitHub私有仓库属于收费服务,而且国内使用各种抽风,如果有兴趣不妨自己搭建Gogs试试。
Gogs官网:Gogs
效果演示:Zcode