Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
helee9199
V2EX  ›  Linux

Linux 部署 gitea。无法用 service 启动

  •  
  •   helee9199 · Nov 18, 2023 · 8707 views
    This topic created in 1080 days ago, the information mentioned may be changed or developed.

    ./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.
    

    就是启动不起来 是什么原因

    Supplement 1  ·  Nov 18, 2023
    破案了。
    ExecStart=/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini
    因为不是专业运维。不太明白这段的含义,楼里有人提醒后发现。可以直接运行这段。
    我的 gitea 安装在/usr/local/gitea
    也就是说启动应该是/usr/local/gitea/gitea 这样
    感谢大家的热心解答。
    30 replies  •  2023-11-18 22:31:42 +08:00
    kaneg
    kaneg
    Nov 18, 2023 via iPhone
    1
    换 docker 版本省事
    helee9199
    helee9199
    OP
    Nov 18, 2023
    2
    @kaneg 折腾半天了 就差临门一脚了 XD... 不甘心啊。总得弄明白
    cxzlhr
    cxzlhr
    Nov 18, 2023
    3
    他需要配置一个 home 目录,默认路径在这这里,/var/lib/gitea/,如果想修改也可以在 service 里面这样改

    Environment=USER=git HOME=/data/gitea_home GITEA_WORK_DIR=/data/gitea


    ```
    ls -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
    ```
    yaott2020
    yaott2020
    Nov 18, 2023 via Android
    4
    去看文档,文档有示例
    adoal
    adoal
    Nov 18, 2023
    5
    没有正规运维经验就老老实实按照文档做,不要自己发挥
    Quarter
    Quarter
    Nov 18, 2023 via Android
    6
    看一下具体报了什么错
    helee9199
    helee9199
    OP
    Nov 18, 2023
    7
    @cxzlhr 这段配置我在官方配置看到了。
    我也有尝试配置成 Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/usr/local/gitea
    HOME 和 GITEA_WORK_DIR 的位置我是问的 gpt
    不知道是没配对还是什么原因 也是没启动成功
    ferock
    ferock
    Nov 18, 2023 via iPhone
    8
    docker 多安稳
    helee9199
    helee9199
    OP
    Nov 18, 2023
    9
    @Quarter journalctl -u gitea
    ```xml
    -- 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/EXEC
    Nov 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/EXEC
    Nov 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/EXEC
    Nov 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).
    ```
    lng2020
    lng2020
    Nov 18, 2023 via Android
    11
    这应该和 gitea 没啥关系。你搜一下报错 203 ?
    helee9199
    helee9199
    OP
    Nov 18, 2023
    12
    @lng2020
    看起来主要和 ExecStart=/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini
    这段有关系
    问了 gpt 确认文件是否存在,确认是否有权限 这两个都是 OK 的。
    to2false
    to2false
    Nov 18, 2023
    13
    systemctl 先 disable ,手动启动 ExecStart 看下详细错误
    dzdh
    dzdh
    Nov 18, 2023
    14
    我记得有个坑

    成功的 code 是 1
    加一个 SuccessExitStatus=1 试试
    hiveex
    hiveex
    Nov 18, 2023
    15
    同建议 docker 一步到位
    lng2020
    lng2020
    Nov 18, 2023 via Android
    16
    app.ini 里是什么东西
    dfdragon
    dfdragon
    Nov 18, 2023
    17
    ```
    [Unit]
    Description=Gitea (Git with a cup of tea)
    After=syslog.target
    After=network.target
    After=mysql.service

    [Service]
    RestartSec=2s
    Type=notify
    User=git
    Group=git
    WorkingDirectory=/usr/local/bin/gitea/
    ExecStart=/usr/local/bin/gitea/gitea web --config /usr/local/bin/gitea/custom/conf/app.ini
    Restart=always
    Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/usr/local/bin/gitea
    WatchdogSec=30s

    [Install]
    WantedBy=multi-user.target
    ```

    贴一下我自己的配置,供参考
    lng2020
    lng2020
    Nov 18, 2023 via Android
    18
    你直接去 gitea 官方 QQ 群问好了,这里回复太费事
    lng2020
    lng2020
    Nov 18, 2023 via Android
    19
    type=simple 可能有问题,可以像楼上换成 notify 试试。之前有个工单就是 snap 包安装一直 notify 不到导致 gitea 一直重启。
    darrh00
    darrh00
    Nov 18, 2023
    20
    看一下 app.ini 里配置日志记录到哪里了,比如

    [log]
    MODE = file
    LEVEL = Info
    ROOT_PATH = /home/gitea/log

    这样就去 /home/gitea/log/gitea.log 看看有什么日志
    roundgis
    roundgis
    Nov 18, 2023 via Android
    21
    去 gitea 的官方討論區問更快

    你先用命令行啟動成功再換成 systemd 也不遲
    guanzhangzhang
    guanzhangzhang
    Nov 18, 2023
    22
    发现大家对 systemd 无法启动都没任何排错思路。。。
    systemd 服务无法启动,就按照里面的参数手动搞,有 env file 就手动 export 下,有 workdir 就先 cd 进去,然后再手动启动你的 execStart 。203 exec 问题一般是命令 arg0 有问题,架构不对,二进制损坏,缺 so 啥的,总之先手动执行下
    joyanhui
    joyanhui
    Nov 18, 2023❤️1
    23
    su git
    /usr/local/gitea web --config /usr/local/gitea/custom/conf/app.ini

    先看看
    joyanhui
    joyanhui
    Nov 18, 2023
    24
    另外 记得用户名 不是 gitea 吗。。不过我这里是 lxc alpine

    ```sh
    ls -lh /var/lib/gitea
    total 201M
    -rw------- 1 gitea www-data 1.7K Nov 13 18:48 app.ini
    drwxr-x--- 2 gitea www-data 4.0K Mar 1 2023 custom
    drwxr-x--- 14 gitea www-data 4.0K Mar 1 2023 data
    drwxr-x--- 2 gitea www-data 4.0K Nov 18 12:28 db
    drwxr-x--- 3 gitea www-data 4.0K Mar 1 2023 git
    /etc/passwd |grep gitea
    gitea:x:100:82:gitea:/var/lib/gitea:/bin/ash
    ```
    julyclyde
    julyclyde
    Nov 18, 2023
    25
    @kaneg 无脑给出 docker 建议其实是错误的建议
    julyclyde
    julyclyde
    Nov 18, 2023
    26
    @lng2020 所有 notify 的服务应该都可以 simple 运行吧
    反过来不行
    lazyyz
    lazyyz
    Nov 18, 2023 via Android
    27
    我用的官方示例里的 service 代码,正常可以跑起来
    helee9199
    helee9199
    OP
    Nov 18, 2023
    28
    @joyanhui 破案了。原来这条是可以执行的,我才发现是这里的问题/usr/local/gitea web
    /usr/local/gitea 是安装的文件夹 应该是/usr/local/gitea/gitea web

    太淦了。。。
    julyclyde
    julyclyde
    Nov 18, 2023
    29
    @guanzhangzhang 主要是吧正常情况下 systemd 里运行出错都是人的错误而非 systemd 的错误
    kkk9
    kkk9
    Nov 18, 2023❤️1
    30
    @helee9199 #28 个人经验是 systemd 运行错误的时候,直接就复制粘贴命令执行,如果能正常跑就是 systemd 配置的目录、权限、参数有疏漏,不能正常跑才看是软件问题还是其他问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2773 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 00:26 · PVG 08:26 · LAX 16:26 · JFK 19:26
    ♥ Do have faith in what you're doing.