美文网首页
使用systemd配置redis服务开机启动

使用systemd配置redis服务开机启动

作者: 田丰w | 来源:发表于2020-06-20 20:08 被阅读0次

    centos7,ubuntu18都使用了 systemd 作为系统服务管理工具, 并推荐使用这种方式管理服务.

    以 redis 服务为例,说明如何为Ubuntu配置自定义的service。

    1. 首先在/lib/systemd/system/目录下,创建服务脚本:redis-server.service
    [Unit]
    Description=Redis server
    After=syslog.target network.target remote-fs.target nss-lookup.target
     
    [Service]
    Type=forking
    ExecStart=/bin/bash -c '/opt/redis/bin/redis-server /opt/redis/redis.conf'
    ExecStop=/bin/bash -c '/opt/redis/bin/redis-cli shutdown'
    Restart=always
    PrivateTmp=true
     
    [Install]
    WantedBy=multi-user.target
    

    说明:

    • 用于识别服务的是文件名,而不是 Description。
    • ExecStart,ExecStop,Restart这些参数的值中放的脚本应该是立即返回的,否则启动服务时会超时。
    • 参数中的命令使用的shell可能不是bash,很多命令、格式不识别,比如需要绝对路径,比如&放后台命令,这时显式的调用bash是一种方法。
    • systemctl status redis-server.service可以查看当前服务的日志。
    • 记录pid文件在redis.conf里配置,默认为 /var/run/redis_6379.pid
    • Restart=always, 表示服务挂掉后立即重启. 其他取值及其含义如下.
      no(默认值):退出后不会重启
      on-success:只有正常退出时(退出状态码为0),才会重启
      on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
      on-abnormal:只有被信号终止和超时,才会重启
      on-abort:只有在收到没有捕捉到的信号终止时,才会重启
      on-watchdog:超时退出,才会重启
      always:不管是什么退出原因,总是重启
    1. 设置让脚本开机自动启动
    sudo systemctl daemon-reload
    sudo systemctl enable redis-server.service
    
    1. 常用命令
      重新加载service文件:sudo systemctl daemon-reload
      启动一个服务:sudo systemctl start redis-server.service
      关闭一个服务:sudo systemctl stop redis-server.service
      重启一个服务:sudo systemctl restart redis-server.service
      显示一个服务的状态:systemctl status redis-server.service
      在开机时启用一个服务:sudo systemctl enable redis-server.service
      在开机时禁用一个服务:sudo systemctl disable redis-server.service
      查看服务是否开机启动:systemctl is-enabled redis-server.service
      查看已启动的服务列表:systemctl list-unit-files | grep enabled
      查看启动失败的服务列表:systemctl --failed

    参考:
    Ubuntu 16.04 增加bash脚本为service
    阮一峰-Systemd 入门教程:实战篇

    相关文章

      网友评论

          本文标题:使用systemd配置redis服务开机启动

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