• centos7 systemctl配置开机自启动服务


    centos7使用systemctl替代原来/etc/init.d,按官方的说法是提高系统服务的运行效率、服务配置更加简单易用,对于一些自定义的服务来配置开机自启动,是真的香!

    概念理解

    • 它是服务管理工具,融合之前service和chkconfig功能于一体
    • 有系统(system)和用户(user)之分,可直接放/lib/systemd/system目录下
    • 以.service结尾,一般分为3部分:Unit、Service、Install

    参数说明

    Unit:主要对服务的说明

    • Description:用于描述服务而已
    • After:用于描述服务类别

    Service:关键部分,服务运行的具体配置

    参数太多,下面只列出几个常用的关键参数,其它根据需要自行百度:
    常用Type的几种类型:

    Type=simple 默认值,表示 ExecStart= 所设定的进程就是该服务的主进程。
    Type=forking 后台运行的形式。以 fork 方式从父进程创建子进程,创建后父进程会立即退出,配合PIDFile=使用,以帮助 systemd 准确定位该服务的主进程。
    Type=notify 与simple类似,但约定服务会在就绪后向systemd发送一个信号,需要配合NotifyAccess来让Systemd接收消息。
    • User:是设置服务运行的用户
    • Group:是设置服务运行的用户组
    • PIDFile:为存放PID的文件路径
    • ExecStart:为服务的具体运行命令
    • ExecReload:为重启命令
    • ExecStop:为停止命令
    • Environment:指定环境变量

    注意:所有命令要求使用绝对路径,使用相对路径会报错。

    Install:服务安装的相关设置,用来定义启动以及是否开机启动

    • WantedBy:它的值是一个或多个 Target,当前 Unit 激活时(enable)符号链接会放入/etc/systemd/system目录下面以 Target 名 + .wants后缀构成的子目录中
    • Alias:当前 Unit 可用于启动的别名

    使用案例

    • 以uwsgi配置为例:
    ## cat /lib/systemd/system/uwsgi.service 
    [Unit]
    Description=uWSGI Emperor
    After=syslog.target
    
    [Service]
    #PIDFile=/run/uwsgi.pid
    ExecStart=/usr/local/bin/uwsgi --ini /home/dengzhixu/crawl_data/uwsgi.ini
    Restart=always
    KillSignal=SIGQUIT
    Type=notify
    #Type=forking
    StandardError=syslog
    NotifyAccess=all
    
    [Install]
    WantedBy=multi-user.target
    
    • 添加可执行权限:
    chmod +x /lib/systemd/system/uwsgi.service
    

    常用命令

    ## 启动服务
    systemctl start uwsgi.service
      
    ## 停止服务
    systemctl stop uwsgi.service
      
    ## 重启服务
    service uwsgi restart
    systemctl restart uwsgi.service
      
    ## 服务自启动
    systemctl enable uwsgi.service
      
    ## 服务关闭自动启动
    systemctl disable uwsgi.service
      
    ## 检查服务状态
    systemctl status uwsgi.service
      
    ## 显示所有已启动的服务
    systemctl list-units  --type=service
    

    其它需要配置的服务,可自行参考画葫芦。
    ----by 钢铁 648403020@qq.com 09.10.2020

  • 相关阅读:
    Django_环境配置(一)
    python 使用sub替换时报错“re.error: bad escape P”或 “SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes”
    python 获取异常全部信息
    Flink入门 构建一个应用
    Flink入门 本地环境搭建
    mysql数据库 使用分析工具 进行慢查询分析
    Windows环境下搭建 【ElasticSearch】
    SpringBoot 事务的控制
    spring boot 数据库事务检查
    利用jenkins一键部署项目
  • 原文地址:https://www.cnblogs.com/jiba/p/13649440.html
Copyright © 2020-2023  润新知