求指教 gitlab 正确的开机自启方式 (排除 /etc/rc.local 尽量使用 systemd) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AllenHua
V2EX    GitLab

求指教 gitlab 正确的开机自启方式 (排除 /etc/rc.local 尽量使用 systemd)

  •  
  •   AllenHua 2020-08-10 23:36:43 +08:00 3403 次点击
    这是一个创建于 1966 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 ubuntu 16.04 LTS 上安装的 gitlab 服务 目前稳定正常运行 但希望配置开机自启 不希望每次开机 都执行 sudo gitlab-ctl start 成功运行后 比如下面这样

    $ sudo gitlab-ctl start 
    ok: run: gitaly: (pid 28489) 0s ok: run: gitlab-workhorse: (pid 28497) 1s ok: run: logrotate: (pid 28517) 0s ok: run: nginx: (pid 28526) 1s ok: run: postgresql: (pid 28532) 0s ok: run: redis: (pid 28550) 1s ok: run: sidekiq: (pid 28555) 0s ok: run: unicorn: (pid 28561) 0s 

    目前所做的努力:

    尝试 1

    $ cat /etc/systemd/system/gitlab.service

    [Unit] Description=gitlab server After=network.target [Service] User=root Group=root ExecStart=/usr/bin/gitlab-ctl start ExecStop=/usr/bin/gitlab-ctl stop Restart=on-failure Type=forking [Install] WantedBy=multi-user.target 

    创建了这个 service 但是 执行后 好几个服务不成功 比如下面这样

    $ systemctl status gitlab ● gitlab.service - gitlab server Loaded: loaded (/etc/systemd/system/gitlab.service; enabled; vendor preset: enabled) Active: inactive (dead) since Mon 2020-08-10 23:10:17 CST; 5s ago Process: 28016 ExecStop=/usr/bin/gitlab-ctl stop (code=exited, status=0/SUCCESS) Process: 27911 ExecStart=/usr/bin/gitlab-ctl start (code=exited, status=0/SUCCESS) Main PID: 24927 (code=exited, status=0/SUCCESS) Aug 10 23:10:12 dk-tpt400 gitlab-ctl[27911]: ok: run: unicorn: (pid 28001) 0s Aug 10 23:10:14 dk-tpt400 gitlab-ctl[28016]: ok: down: gitaly: 0s, normally up Aug 10 23:10:15 dk-tpt400 gitlab-ctl[28016]: ok: down: gitlab-workhorse: 1s, normally up Aug 10 23:10:15 dk-tpt400 gitlab-ctl[28016]: ok: down: logrotate: 0s, normally up Aug 10 23:10:16 dk-tpt400 gitlab-ctl[28016]: ok: down: nginx: 1s, normally up Aug 10 23:10:16 dk-tpt400 gitlab-ctl[28016]: ok: down: postgresql: 0s, normally up Aug 10 23:10:16 dk-tpt400 gitlab-ctl[28016]: ok: down: redis: 0s, normally up Aug 10 23:10:17 dk-tpt400 gitlab-ctl[28016]: ok: down: sidekiq: 1s, normally up Aug 10 23:10:17 dk-tpt400 gitlab-ctl[28016]: ok: down: unicorn: 0s, normally up Aug 10 23:10:17 dk-tpt400 systemd[1]: Started gitlab server. 

    尝试 2

    有一个 service gitlab-runsvdir.service 但是 enable 了 并不生效 无法启动 gitlab

    尝试 3

    或许可以 直接放在 /etc/rc.localexit 0 之前 这样来实现 开机自启 但是不希望这么做 就希望 通过 systemd 来管理

    systemd 的 [Service] 中 如果 Type=forking 那么建议使用 PIDFILE=xxx 那么 PIDFILE 该怎么找呢 求 linux 大神指导

    13 条回复    2020-08-11 12:17:08 +08:00
    also24
        1
    also24  
       2020-08-11 00:27:58 +08:00
    wwqgtxx
        2
    wwqgtxx  
       2020-08-11 07:26:06 +08:00 via iPhone
    把 Type 改成 simple 试试
    AllenHua
        3
    AllenHua  
    OP
       2020-08-11 07:30:13 +08:00 via iPhone
    @also24 谢谢老哥
    AllenHua
        4
    AllenHua  
    OP
       2020-08-11 07:31:10 +08:00 via iPhone
    @wwqgtxx simple forking 和 oneshot 都试过 不行
    whenov     5
    whenov  
       2020-08-11 07:55:26 +08:00 via iPhone
    用 journalctl -u gitlab 看看详细 log
    dzdh
        6
    dzdh  
       2020-08-11 08:49:34 +08:00
    看 gitlab 自己本身的 log 不要看 systemd 的 log

    有些程序需要特定目录下( data 目录)执行才可以的,gitlab 我不知道是不是,尝试 WorkingDirectory
    davidyin
        7
    davidyin  
       2020-08-11 09:00:41 +08:00 via Android
    就是想问一下,为什么还用 Ubuntu16.04 ?
    lululau
        8
    lululau  
       2020-08-11 09:02:55 +08:00 via iPhone
    gitlab 好多个服务组件吧,你用一个 unit 搞不定吧。gitlab 搭建这个场景用 docker 不好吗
    AllenHua
        9
    AllenHua  
    OP
       2020-08-11 09:06:55 +08:00
    @whenov #5 对 晚上回去看看
    @dzdh #6 谢谢 ok WorkingDirectory

    @davidyin #7 古董电脑 懒得升级了 2009 年的 thinkpad t400 第一代酷睿处理器
    @lululau #8 你说得对 很多服务组件 但是 我对 docker 不太熟 下次可以用用 docker 搭 gitlab 谢谢意见
    kekxv
        10
    kekxv  
       2020-08-11 09:11:24 +08:00 via iPhone
    julyclyde
        11
    julyclyde  
       2020-08-11 10:31:06 +08:00
    @wwqgtxx simple 属于“显然不行”的那种,都不用试
    julyclyde
        12
    julyclyde  
       2020-08-11 10:35:59 +08:00
    1 建议看看 log,可能 systemd 和 shell 有些不同导致启动失败
    2 建议把各服务分别托管给 systemd 而不是集中托管
    AllenHua
        13
    AllenHua  
    OP
       2020-08-11 12:17:08 +08:00
    @julyclyde #12 嗯嗯 是的 多谢意见 回头认真看看 有进展我会更新此帖
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2990 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 13:17 PVG 21:17 LAX 05:17 JFK 08:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86