• linux centOS7 设置 redis 开机启动


    1.为了让redis-server能在系统启动时自动运行,需要将redis服务作为守护进程(daemon)来运行,我们回/usr/local/cluster/7000/目录中找到一个redis.conf的文件,这个文件是redis服务运行时加载的配置,我们先观察一下其中的内容
    
    [root@192 7000]# vi redis.conf
    输入/daemonize

    此文件内容非常长,但是大部分是注释,我们重点关注其中的几个设置daemonize和pidfile:
    其中daemonize默认值是false,pidfile默认值是pidfile /var/run/redis_6379.pid
    第一个表示是否daemon化,显然我们要把它改成daemonize yes;
    第二个表示当服务以守护进程方式运行时,redis默认会把pid写入/var/run/redis_6379.pid文件,服务运行中该文件就存在,服务一旦停止该文件就自动删除,因而可以用来判断redis是否正在运行。
     保存后退出。
    有了基本配置,redis还需要有一个管理启动、关闭、重启的一个脚本。redis源码里其实已经提供了一个初始化脚本,
    位值在/usr/redis/utils/redis_init_script。
    我们来看看这个脚本做了些什么:

    #!/bin/sh#
        REDISPORT=6379
        EXEC=/usr/local/bin/redis-server
        CLIEXEC=/usr/local/bin/redis-cli
        
        PIDFILE=/var/run/redis_${REDISPORT}.pid
        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
    脚本中指定了端口、server路径、cli路径、pidfile路径以及conf路径,上述标黄的地方都需要正确配置,多说一句,如果在安装时执行了make install,那么这里的脚本不需要做多大改动,因为make install把server和cli都拷到/usr/local/bin下面了。
    我的脚本

    ***
    2.设置启动文件配置,进入7000的根目录
    cd /usr/local/cluster/7000
    mkdir /etc/redis
    cp redis.conf /etc/redis/7000.conf
    ***
    3.将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redis (复制 /usr/local/cluster/7000/utils/redis_init_script文件)
    cp redis_init_script /etc/init.d/redis
    按照第一点说的修改redis文件、注意增加了chkconfig和description两行 不然会提示 服务 redisd 不支持 chkconfig ?
    ***
    #!/bin/sh
    #
    # Simple Redis init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.
    # chkconfig: 2345 90 10
    # description: Redis is a persistent key-value database

    REDISPORT=7000
    EXEC=/usr/local/cluster/7000/src/redis-server
    CLIEXEC=/usr/local/cluster/7000/src/redis-cli

    PIDFILE=/var/run/redis_${REDISPORT}.pid
    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)
    编辑完保存就OK了
    ***
    4.#设置为开机自启动服务器
    chkconfig redis on
    #打开服务
    service redis start
    #关闭服务
    service redis stop

    ***
    5.重启 reboot
    执行ps指令,查看redis 7000端口已经启动

  • 相关阅读:
    vsftpd的主动模式与被动模式
    Linux环境下vsftpd参数配置
    CentOS下的网络配置文件说明
    第一篇博客,随笔留念
    asp.net xml 增删改操作
    asp.net json 与xml 的基础事例
    linq 之 Distinct的使用
    【P2015】二叉苹果树(树状DP)
    【P2016】战略游戏(贪心||树状DP)
    【P2774】方格取数问题(贪心+最大流,洛谷)
  • 原文地址:https://www.cnblogs.com/ANCAN-RAY/p/7941425.html
Copyright © 2020-2023  润新知