美文网首页
redis在linux下的配置和开机启动_0neBean_NOT

redis在linux下的配置和开机启动_0neBean_NOT

作者: 0neBean | 来源:发表于2019-07-11 14:53 被阅读0次

    step1: 去到安装目录下/usr/local/redis寻找redis 配置文件 redis.conf,打开文件查看内容:

    $ vim redis.conf 
    

    配置文件中需要修改两个地方daemonizepidfile,

    • pidfile默认值是/var/run/redis_6379.pid,redis默认会把pid写入/var/run/redis_6379.pid文件,服务运行中该文件就存在,服务一旦停止该文件就自动删除,因而可以用来判断redis是否正在运行。
    • daemonize默认值是false,表示是否daemon化,表示当服务以守护进程方式运行时。

    step2: 修改官方启动脚本:

    redis 还需要有一个管理启动、关闭、重启的脚本,redis源码里其实已经提供了一个/usr/local/redis/utils/redis_init_script,内容如下:

    #!/bin/sh#
    
    #1 端口
    REDISPORT=6379
    #2 server路径
    EXEC=/usr/local/bin/redis-server
    #3 cli路径
    CLIEXEC=/usr/local/bin/redis-cli
    #4 pidfile路径
    PIDFILE=/var/run/redis_${REDISPORT}.pid
    #5 conf路径
    CONF="/etc/redis/${REDISPORT}.conf"
    
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    $EXEC $CONF
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                    echo "$PIDFILE does not exist, process is not running"
            else
                    PID=$(cat $PIDFILE)
                    echo "Stopping ..."
                    $CLIEXEC -p $REDISPORT shutdown
                    while [ -x /proc/${PID} ]
                    do
                        echo "Waiting for Redis to shutdown ..."
                        sleep 1
                    done
                    echo "Redis stopped"
            fi
            ;;
        *)
            echo "Please use start or stop as first argument"
            ;;
    esac
    

    以上注释的12345处 需要按照本机情况修改为正确的路径

    step3: 部署配置文件和启动脚本:

    redis目录下的redis.conf文件拷贝到/etc/redis/6379.conf

    $ mkdir /etc/redis
    $ cp /usr/local/redis/redis.conf /etc/redis/6379.conf 
    

    接着将redis_init_script脚本拷贝到/etc/init.d/redisd

    cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd 
    
    chkconfig redisd on
    

    服务 redisd 不支持 chkconfig ?添加如下内容到/etc/init.d/redisd:

    # chkconfig:   2345 90 10
    # description:  Redis is a persistent key-value database
    

    完成后检查命令是否生效:

    $ service redisd start 
    $ service redisd stop
    

    相关文章

      网友评论

          本文标题:redis在linux下的配置和开机启动_0neBean_NOT

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