美文网首页
如何设置 Centos7 自建服务脚本的启动顺序

如何设置 Centos7 自建服务脚本的启动顺序

作者: Spooking | 来源:发表于2017-11-17 22:06 被阅读0次

    今天在Centos7上搭建一个自用的 seafile 服务,用mysql做数据库。
    一切都还比较顺利,就是自己编写的服务脚本开机启动的时候总是执行不成功,进了系统手动运行 systemctl start seafile.service 却没有任何问题,猜测应该是启动顺序的问题,反反复看了官方的文档,发现自己漏掉了一行注释。

    ...
    [Unit]
    Description=Seafile
    # add mysql.service or postgresql.service depending on your database to the line below
    After=network.target
    ...
    

    因为是注释掉的,当时以为不重要,也没仔细看,导致After标签中没有加上 mysql.service 所以开机启动老是失败,修改如下就OK了。

    [Unit]
    Description=Seafile Service
    After=network.target mysql.service
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    
    ExecStart=/home/cowin/seafile-server-latest/seafile.sh start
    ExecStop=/home/cowin/seafile-server-latest/seafile.sh stop
    
    [Install]
    WantedBy=multi-user.target
    
    

    这样 seafile.service 就会在 mysql.service 执行完了在启动,就不会出错了。
    然后按照官方教程建立seahub.service,注意这个服务是在seafile.service 之后启动

    [Unit]
    Description=Seafile Service
    After=network.target seafile.service
    

    好了,重启服务器,OK了

    之前因为偷懒,将seafile.service 和 seahub.service 合并了,结果悲剧了,这两个服务之间还是要有启动先后的……

    相关文章

      网友评论

          本文标题:如何设置 Centos7 自建服务脚本的启动顺序

          本文链接:https://www.haomeiwen.com/subject/oljsvxtx.html