用gogs搭建git管理服务
2025年5月16日大约 3 分钟
用gogs搭建git管理服务
前提
提示
mysql版本 >= 5.7 git版本 >= 1.8

准备工作:
域名,服务器放通3000端口, 申请ssl证书(也可以不申请)
如果安装时没有申请ssl证书,那么配置号以后别忘了改配置
一检查安装条件
1检查git
git --version
# 或者
git version
如果 git版本低,参照整理的git安装,安装最新版本
2 检查go
go version
如果没有go
yun install go
3检查 mysql 数据库
mysql --version
二添加系统用户
1创建用户 git
sudo adduser git
2设置密码
passwd git
3创建用户组
groupadd git
4将用户git加入用户组git
gpasswd -a git git
三 部署源码并做相应配置
提示
官网有很多种安装方式,这里我采用的是二进制安装
1下载或者上传二进制包

2解压安装包
tar -zxvf gogs_0.13.2_linux_amd64.tar.gz
解压完成后会出现 gogs目录 将代码放置到想要放置的目录下
mv gogs /home/git/gogs
3进入到 网站目录 递归修改属主和属组
chown -R git:git /home/git/gogs
4修改权限,否则无法访问
chmod -R 777 /home/git/gogs
找到gogs.service,位于
/home/git/gogs/scripts/systemd/gogs.service
查看内容
cat gogs.service
[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysql.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=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git
# Some distributions may not support these hardening directives. If you cannot start the service due
# to an unknown option, comment out the ones not supported by your version of systemd.
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
5放置 gogs.service到系统服务目录下
cp /home/git/gogs/scripts/systemd/gogs.service /lib/systemd/system/gogs.service
6重新加载systemd配置
sudo systemctl daemon-reload
7开机自启动
systemctl enable gogs.service
8启动服务
systemctl start gogs
9查看状态
systemctl status gogs

注意
如果失败执行以下命令,查看系统日志,自行分析失败原因
journalctl -u gogs.service
执行成功以后如下图所示:

10 测试一下
curl http://127.0.0.1:3000
11 配置数据库
进入正确的路径 (注意路径一定要正确)
cd /home/git/gogs/scripts
mysql -u root -p < mysql.sql
输入数据库密码:
查看数据库里面是否有了gogs数据库

然后登录 MySQL 创建一个新用户 gogs,并将数据库 gogs 的所有权限都赋予该用户
mysql -u root -p
# (输入密码)
create user 'gogs'@'localhost' identified by '密码';
grant all privileges on gogs.* to 'gogs'@'localhost';
flush privileges;
exit;
12 配置nginx配置文件
提示
重点是配置nginx的请求转发
rver
{
listen 80;
server_name 域名;
location /
{
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:3000;
}
}
13 准备仓库存储地址
mkdir -p /data/git/gogs-repositories
chown -R git:git git


14 gogs的配置文件
其实就是在网站目录的custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini