Linux 部署 gitea。无法用 service 启动
./gitea web 可以启动
但是想设置为 service 启动就失败
/etc/systemd/system/gitea.service 配置
[Unit]
Description=Gitea
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
ExecStart=/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini
Restart=always
[Install]
WantedBy=multi-user.target
权限也给了
[root@localhost local]# ls -l /usr/local/gitea
total 131008
drwxrwxr-x. 3 git git 18 Nov 18 06:21 custom
drwxrwxr-x. 15 git git 213 Nov 18 07:30 data
-rwxr-xr-x. 1 git git 134150560 Oct 3 21:27 gitea
drwxrwxr-x. 2 git git 6 Nov 18 06:10 log
[root@localhost local]# ls -l /usr/local/gitea/custom/conf/app.ini
-rw-r--r--. 1 git git 1602 Nov 18 06:21 /usr/local/gitea/custom/conf/app.ini
[root@localhost local]# sudo chown git:git /usr/local/gitea
[root@localhost local]# sudo chmod 755 /usr/local/gitea
[root@localhost local]# sudo systemctl start gitea
[root@localhost local]# systemctl status gitea
● gitea.service - Gitea
Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Sat 2023-11-18 17:59:04 CST; 1s ago
Process: 2945 ExecStart=/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini (code=exited, status=203/EXEC)
Main PID: 2945 (code=exited, status=203/EXEC)
Nov 18 17:59:04 localhost.localdomain systemd[1]: gitea.service: main process exited, code=exited, status=203/EXEC
Nov 18 17:59:04 localhost.localdomain systemd[1]: Unit gitea.service entered failed state.
Nov 18 17:59:04 localhost.localdomain systemd[1]: gitea.service failed.
就是启动不起来 是什么原因
破案了。ExecStart=/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini因为不是专业运维。不太明白这段的含义,楼里有人提醒后发现。可以直接运行这段。我的 gitea 安装在/usr/local/gitea 也就是说启动应该是/usr/local/gitea/gitea 这样感谢大家的热心解答。
换 docker 版本省事
折腾半天了 就差临门一脚了 XD... 不甘心啊。总得弄明白
他需要配置一个 home 目录,默认路径在这这里,/var/lib/gitea/,如果想修改也可以在 service 里面这样改Environment=USER=git HOME=/data/gitea_home GITEA_WORK_DIR=/data/giteals -al /var/lib/gitea/drwxr-xr-x 3 git git 18 Nov 17 07:14 .drwxr-xr-x. 41 root root 4096 Nov 17 07:14 ..drwx------ 2 git git 73 Nov 17 07:43 .ssh
去看文档,文档有示例
没有正规运维经验就老老实实按照文档做,不要自己发挥
看一下具体报了什么错
这段配置我在官方配置看到了。 我也有尝试配置成 Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/usr/local/giteaHOME 和 GITEA_WORK_DIR 的位置我是问的 gpt不知道是没配对还是什么原因 也是没启动成功
docker 多安稳
journalctl -u giteaxml-- Logs begin at Sat 2023-11-18 18:13:46 CST, end at Sat 2023-11-18 18:43:38 CST. --Nov 18 18:16:53 localhost.localdomain systemd[1]: Starting Gitea (Git with a cup of tea)...Nov 18 18:16:53 localhost.localdomain systemd[1]: gitea.service: main process exited, code=exited, status=203/EXECNov 18 18:16:53 localhost.localdomain systemd[1]: Failed to start Gitea (Git with a cup of tea).Nov 18 18:16:53 localhost.localdomain systemd[1]: Unit gitea.service entered failed state.Nov 18 18:16:53 localhost.localdomain systemd[1]: gitea.service failed.Nov 18 18:16:55 localhost.localdomain systemd[1]: gitea.service holdoff time over, scheduling restart.Nov 18 18:16:55 localhost.localdomain systemd[1]: Stopped Gitea (Git with a cup of tea).Nov 18 18:16:55 localhost.localdomain systemd[1]: Starting Gitea (Git with a cup of tea)...Nov 18 18:16:55 localhost.localdomain systemd[1]: gitea.service: main process exited, code=exited, status=203/EXECNov 18 18:16:55 localhost.localdomain systemd[1]: Failed to start Gitea (Git with a cup of tea).Nov 18 18:16:55 localhost.localdomain systemd[1]: Unit gitea.service entered failed state.Nov 18 18:16:55 localhost.localdomain systemd[1]: gitea.service failed.Nov 18 18:16:57 localhost.localdomain systemd[1]: gitea.service holdoff time over, scheduling restart.Nov 18 18:16:57 localhost.localdomain systemd[1]: Stopped Gitea (Git with a cup of tea).Nov 18 18:16:57 localhost.localdomain systemd[1]: Starting Gitea (Git with a cup of tea)...Nov 18 18:16:57 localhost.localdomain systemd[1]: gitea.service: main process exited, code=exited, status=203/EXECNov 18 18:16:57 localhost.localdomain systemd[1]: Failed to start Gitea (Git with a cup of tea).Nov 18 18:16:57 localhost.localdomain systemd[1]: Unit gitea.service entered failed state.Nov 18 18:16:57 localhost.localdomain systemd[1]: gitea.service failed.Nov 18 18:16:59 localhost.localdomain systemd[1]: gitea.service holdoff time over, scheduling restart.Nov 18 18:16:59 localhost.localdomain systemd[1]: Stopped Gitea (Git with a cup of tea).
建议用 docker 安装 docs.gitea.com/installation/install-with-docker
这应该和 gitea 没啥关系。你搜一下报错 203 ?
看起来主要和 ExecStart=/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini这段有关系问了 gpt 确认文件是否存在,确认是否有权限 这两个都是 OK 的。
systemctl 先 disable ,手动启动 ExecStart 看下详细错误
我记得有个坑成功的 code 是 1加一个 SuccessExitStatus=1 试试
同建议 docker 一步到位
app.ini 里是什么东西
[Unit]Description=Gitea (Git with a cup of tea)After=syslog.targetAfter=network.targetAfter=mysql.service[Service]RestartSec=2sType=notifyUser=gitGroup=gitWorkingDirectory=/usr/local/bin/gitea/ExecStart=/usr/local/bin/gitea/gitea web --config /usr/local/bin/gitea/custom/conf/app.iniRestart=alwaysEnvironment=USER=git HOME=/home/git GITEA_WORK_DIR=/usr/local/bin/giteaWatchdogSec=30s[Install]WantedBy=multi-user.target贴一下我自己的配置,供参考
你直接去 gitea 官方 QQ 群问好了,这里回复太费事
type=simple 可能有问题,可以像楼上换成 notify 试试。之前有个工单就是 snap 包安装一直 notify 不到导致 gitea 一直重启。
看一下 app.ini 里配置日志记录到哪里了,比如[log]MODE = fileLEVEL = InfoROOT_PATH = /home/gitea/log这样就去 /home/gitea/log/gitea.log 看看有什么日志
去 gitea 的官方討論區問更快你先用命令行啟動成功再換成 systemd 也不遲
发现大家对 systemd 无法启动都没任何排错思路。。。systemd 服务无法启动,就按照里面的参数手动搞,有 env file 就手动 export 下,有 workdir 就先 cd 进去,然后再手动启动你的 execStart 。203 exec 问题一般是命令 arg0 有问题,架构不对,二进制损坏,缺 so 啥的,总之先手动执行下
su git/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini先看看
另外 记得用户名 不是 gitea 吗。。不过我这里是 lxc alpineshls -lh /var/lib/giteatotal 201M -rw------- 1 gitea www-data 1.7K Nov 13 18:48 app.inidrwxr-x--- 2 gitea www-data 4.0K Mar 1 2023 customdrwxr-x--- 14 gitea www-data 4.0K Mar 1 2023 datadrwxr-x--- 2 gitea www-data 4.0K Nov 18 12:28 dbdrwxr-x--- 3 gitea www-data 4.0K Mar 1 2023 git/etc/passwd |grep giteagitea:x:100:82:gitea:/var/lib/gitea:/bin/ash
无脑给出 docker 建议其实是错误的建议
所有 notify 的服务应该都可以 simple 运行吧反过来不行
我用的官方示例里的 service 代码,正常可以跑起来
破案了。原来这条是可以执行的,我才发现是这里的问题/usr/local/gitea web/usr/local/gitea 是安装的文件夹 应该是/usr/local/gitea/gitea web太淦了。。。
主要是吧正常情况下 systemd 里运行出错都是人的错误而非 systemd 的错误
#28 个人经验是 systemd 运行错误的时候,直接就复制粘贴命令执行,如果能正常跑就是 systemd 配置的目录、权限、参数有疏漏,不能正常跑才看是软件问题还是其他问题
除了部分热门的譬如 claude3.7 在白天要排队,几大顶尖模型几乎都免费无限给人用。 当然,这是早起竞争阶段,要立稳脚跟。 所以是不是从侧面说明,AI 编辑器 orIDE…
Table of Contents 分享最近阅读的书藉清单(二) Calculus Made Easy How to Design Programs Teach Yourse…
目前多多刚入手一台四盘位的 n100 ,已购入一个 16t 的西数二手企业盘,一个全新 4t 海康垂直盘 nas 自带 16g+512g 目前比较纠结安装什么系统。 用途就是放…
合速度