美文网首页
CentOS之使用Systemd添加自定义系统服务

CentOS之使用Systemd添加自定义系统服务

作者: 极客笔记Geeknr | 来源:发表于2020-04-08 09:02 被阅读0次

    文章引言

    Systemd 就是为了解决Linux 的启动一直采用init进程问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。

    根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。

    使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。

    以下为 Systemd 架构图:

    上图为 Systemd 架构图

    实例讲解

    新建程序目录

    mkdir -p /app/geeknr.com/test
    

    进入到test目录

    cd /app/geeknr.com/test
    

    使用vim新建文件

    vim api.service
    

    文件内容如下所示,可根据具体需要做更改

    [Unit]
    Description=api server
    # After=network.target
    
    [Install]
    WantedBy=multi-user.target
    
    [Service]
    User=centos
    WorkingDirectory=/app/geeknr.com/test
    ExecStart=/app/geeknr.com/test/api
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=always
    RestartSec=30s
    

    退出编辑器保存文件

    ESC 和 wq
    

    接下来就是制作软链,将文件映射到系统目录

    ln -s /app/geeknr.com/test/api.service /usr/lib/systemd/system
    

    让程序随系统启动生效

    systemctl enable api.service
    

    启动程序

    systemctl start api.service
    

    停止程序

    systemctl stop api.service
    

    常用命令

    # 相关操作
    sudo systemctl   <start|stop|status> api.service
    
    # 使用centos用户作为root权限
    sudo su - centos 
    
    # 查看程序日志
    sudo journalctl -fu api.service
    
    

    附录资料

    关于我们

    为程序员提供优质博文、实战笔记、开发资源、学习资料内容包括:区块链、架构、Golang、Vuejs、Python、Nodejs、C/C++函数库等等。并不定期奉送各种福利。

    我是图片

    欢迎订阅:极客笔记Geeknr

    我的名言:梦想还是要有的,万一实现了呢?

    原文链接:http://blog.geeknr.com/index.php/archives/37/

    相关文章

      网友评论

          本文标题:CentOS之使用Systemd添加自定义系统服务

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