使用gogs搭建git私服并反向代理


昨天折腾半天才折腾了git私服 晚上折腾完了去看知乎发现有个叫gogs的开源git 哎听说树莓派都上都能用我看了看我的大盘鸡只有512m内存应该是够的 哈哈 就又开始了折腾 今天的受害者又是大盘鸡

我懒就直接是sqllte+二进制+nginx反向代理安装的所以没有数据库的创建啥啥啥的

首先创建用户创建一个git用户

useradd git -m -s /bin/bash //创建一个有家目录的用户指定shell为bash
passwd git //设置git用户的密码
apt install git
su git
cd ~
screen -S gogs
wget https://dl.gogs.io/0.12.3/gogs_0.12.3_linux_amd64.zip    //下载gogs[更多版本](https://gogs.io/docs/installation/install_from_binary)
unzip gogs_0.12.3_linux_amd64.zip     //解压
cd gogs       //进入gogs文件夹
./gogs web    //运行二进制文件

运行完成记得切换出来这里用的screen先运行ctrl+a+d退出虚拟终端
这里记得要开启3000端口默认是监听3000端口
这个时候就可以在浏览器中输入 http://远程主机IP:3000 或者 http://域名:3000 便可以打开 gogs 的 web 界面:
然后域名写你的域名就好了端口不变就好了反正有反代

或者先写本地的地址因为有反代问题不大就是进去了 git地址啥啥啥的显示本地地址

然后就是配置nginx了

su  //输入密码切换到root
apt install nginx
vi /etc/nginx/conf.d/你的域名.conf

然后写入配置保存这里是我写的配置

server {
    server_name 你的域名;
    listen 80;
    #ssl on;

    location /{
        proxy_pass http://127.0.0.1:3000/;
        proxy_redirect default;
    }
}

测试一下配置有没有问题

nginx -t
nginx -s reload            //重新载入配置文件这里记得如果用certbot部署了ssl也要重新载入一下配置

然后就是ssl 我是通过certbot傻瓜式部署的这就没啥好说的了参考
部署完成为了能够自动启动

cd /lib/systemd/system
vim gogs.service

加入以下内容:

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mysqld.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

[Install]
WantedBy=multi-user.target

现在去screen结束任务使用systemctl管理

su git //切换到git用户
screen -r gogs //进入gogs这个虚拟终端
输入ctrl+c结束任务
creen -S gogs -X quit //删除gogs虚拟终端

开机启动服务:

systemctl enable gogs.service

启动服务:

systemctl start gogs

查看状态:

systemctl status gogs

至此就结束了

声明:小小博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 使用gogs搭建git私服并反向代理


Carpe Diem and Do what I like