zoukankan      html  css  js  c++  java
  • Centos7系统下编写systemd脚本设置redis开机自启动

    今天想设置redis开机自启动,我觉得这样子比较好,但是在网上找了很长时间发现大家都是基于chkconfig的写法来设置的,并不能由systemd进程来统一管理,所以这里我自己编写了一个,希望大家可以提出宝贵意见。

    首先是在配置文件将redis的进程设置为daemon守护模式运行

    接下来编写unit代码:

    [root@ELK-chaofeng04 system]# cat redis.service 
    [Unit]
    Description=nginx scripts 
    After=network.target remote-fs.target nss-lookup.target syslog.target
    
    [Service]
    Type=forking
    Password=123456
    PidPort=6379
    ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
    ExecStop=/usr/local/redis/bin/redis-cli -a ${Password} -p ${PidPort} shutdown
    
    [Install]
    WantedBy=multi-user.target

    将这段代码贴在配置文件中,然后命名为redis.service并放在/usr/lib/systemd/system目录下即可。最后使用systemctl  enable redis即可设置成功开启自启动。

    首先需要说的有以下几点:

    1、unit单元中没有添加status查看状态,我觉得我这里一般通过判断端口来查看redis进程是否正常的。

    2、在Execstart中,我是自定义了一个redis的配置文件,并启动的时候指定一下配置文件的绝对路径。

    3、在ExecStop中,我用到了-a参数,后面跟的是密码,因为redis的登录密码我已经在配置文件中开启认证了,所以使用redis-cli登录的时候需要指定密码,否则不能关闭redis进程。关于密码的设置我在之前的博客也有可以查看。

    不足:

    1、unit单元中的路径都是给定的,比如配置文件的路径等,所以移动配置文件的时候需要修改unit

    2、密码在配置文件中修改以后,也需要在unit单元中进行修改才可以。这样子造成一些麻烦。

    3、没有status状态查看。

  • 相关阅读:
    IT认证一一看过来
    SQL Server连接中三个常见的错误分析
    解决SFTP时,NetBeans恼人的RSA提示
    Mixing Integrated Authentication and Anonymous Authentication with PreAuthenticated = true doesn’t work
    一段扫flash跨站的脚本
    图解用WAS对Web服务器进行压力测试
    Google TrustRank与Hilltop算法
    Stupid smart code
    Archlinux桌面配置指南
    TSVNCache占用CPU的解决办法
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/10511078.html
Copyright © 2011-2022 走看看