安装配置 gogs
2018年5月18日 星期五, 发表于 昆明
前言
goges
一个基于 web
页面的可视化 git
服务器,相当于一个有无限私有仓库的 github
,可以帮助你管理你的私有代码仓库。gogs
是用 golang
开发的一款开源 git
服务器,小巧灵活,轻量稳定,目前已经有不少个人开发者和公司在使用;相对于臃肿庞大的 gitlab
,gogs
显得轻量小巧很多,gogs
还支持 sqlite
数据库,可以说 gogs
非常适合个人开发者。据说这个项目的主要开发者是四个中国人,有点厉害,牛 P
!!!
快速安装部署
虽说 gogs
很好,但是还是有不少坑,官方文档相对简洁,对于新手来说不友好!
- 准备工作
// 安装 git
# apt install -y git
# yum install -y git
// 添加 git 用户并设置家目录
# useradd -d /opt/git/ -m -s /bin/bash git
# su - git
//下载 注意对应的机器位数、版本,最好选择 CDN
$ wget https://dl.gogs.io/0.11.43/gogs_0.11.43_linux_amd64.tar.gz
$ tar -xvf gogs*.tar.gz
- 使用
systemd
配置完 systemd 之后最好重启下系统,再启动服务
# cp /opt/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/gogs.service
# nano /etc/systemd/system/gogs.service
[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service postgresql.service memcached.service redis.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/opt/git/gogs
ExecStart=/opt/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/opt/git
[Install]
WantedBy=multi-user.target
# systemctl enable gogs
# systemctl start gogs
gogs
启动之后默认监听本地 3000
端口,如果打算部署到公网上,最好设置反向代理。
- 设置反向代理
nginx
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Real-IP $remote_addr;
}
- 通过 web 界面安装
gogs
的是通过 web
的方式进行安装配置的。浏览器访问 http://ip:port
这样的形式,进行进一步安装。
- 几个坑
不能使用 ssh
的方式拉取代码,具体原因是配置文件中并未开启相关设置,进行如下设置,开启 ssh
服务,另外单独设置 ssh
端口。
$ vim /opt/git/gogs/custom/conf/app.ini
START_SSH_SERVER = true
SSH_PORT = 2222
后续
…