赞
踩
大概记录一下安装Gitea服务器过程:
安装预编译好的软件包(从源代码编译安装很慢):
在合适的目录下执行:下载,解压,增加执行权限,建立软连接。这个目录后面是Gitea工作目录,记得把该目录加到PATH变量上。
wget https://dl.gitea.com/gitea/1.19/gitea-1.19-linux-amd64.xz
xz -d gitea-1.19-linux-amd64.x
chmod +x gitea-1.19-linux-amd64
ln -s gitea-1.19-linux-amd64 gitea
检查一下安装的效果:
gitea --version
Gitea version 1.20.0+dev-32-g085a4debd built with GNU Make 4.1, go1.20.1 : bindata, sqlite, sqlite_unlock_notify
下载systemd服务启动文件:
wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service
修改gitea.service文件,修改主要修改下面的部分:
[Service]
User=alpha //修改成运行Gitea的用户,可以新建用户,也可以用已有的用户
Group=alpha //修改成运行Gitea的组,可以新建组,也可以用已有的组
# WorkingDirectory=/var/lib/gitea/
WorkingDirectory=/home/alpha/bin/gitea // Gitea的工作目录,上面的用户要有这个目录的读写权限,这个目录可以执行gitea web命令,从输出的日志可以看到
# ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
ExecStart=/home/alpha/bin/gitea/gitea web // 启动Gitea的命令,默认端口号3000,可以执行gitea web命令,从输出的日志可以看到端口号# Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
Environment=USER=alpha GITEA_WORK_DIR=/home/alpha/bin/gitea // 环境变量,用户要有目录权限
复制到systemd的服务目录,并启动:
sudo cp gitea.service /etc/systemd/system/
sudo systemctl enable --now gitea.service
systemctl status gitea.service
启动之后就可以连接服务器访问了。
注意,如果在公有云上部署,需要配置安全策略,放通3000端口。
我的服务器上安装有nginx/openresty,想通过nginx转发3000端口,配置nginx.conf如下,可以免端口号3000连接,但显示的界面是纯文本的,没法用:
upstream gitea {
server 127.0.0.1:3000 max_fails=1 fail_timeout=2s;
keepalive 16;
}
server {
...location /gitea {
proxy_pass http://gitea/;
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;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
# proxy_buffer_size 4k;
# proxy_busy_buffers_size 64k;
# proxy_temp_file_write_size 64k;
}
}
参考:
玩转 Gitea | 在 Linux 上安装预编译的 Gitea 程序,配置 systemd 管理服务
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。