zoukankan      html  css  js  c++  java
  • redis linux版本自定义安装目录、注册服务、自启动设置、一台计算机安装多个redis

    自定义安装目录并安装

    1、mkdir /usr/local/redis

    2、下载redis到 /usr/local/src/,解压,进入解压后的目录

    3、安装到指定目录

      make PREFIX=/usr/local/redis install

      注意:PREFIX必须大写;如写换成小写,不报错,还正常执行,但不会安装到我们的指定目录,而是会安装到/usr/local/src/redis-4.0.10/src目录下

    4、测试

      cd /usr/local/redis  


    注册 redis 服务

    1、复制启动脚本到 /etc/rc.d/init.d 目录

     rpm安装方式会把服务默认安装到 /etc/rc.d/init.d 目录下,并且不需要我们手动干扰。当服务安装到这个目录下后,我们就可以使用形如 service network start 的方式启动、关闭、重启服务了。

     我们这里使用的是源码包的安装方式,所以需要我们手动把 redis 的启动脚本复制到 /etc/rc.d/init.d 目录下。

     cp /usr/local/src/redis-4.0.10/utils/redis_init_script  /etc/rc.d/init.d/redis

    上面的命令还执行了更名操作,把redis_init_script重命名为了redis,这个名字可以随便取,比如redis1、redis2等。以 service network start 命令为例,service 会去/etc/init.d下寻找文件名为 network 的脚本,start是network 脚本的一个参数。如果我们取名为redis1,那么以后启动 redis 服务就要执行 service redis1 start。

    2、修改初始化脚本

    #!/bin/sh
    # chkconfig: 2345 80 90
    # Simple Redis init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.
    
    ### BEGIN INIT INFO
    # Provides:     redis_6379
    # Default-Start:        2 3 4 5
    # Default-Stop:         0 1 6
    # Short-Description:    Redis data structure server
    # Description:          Redis data structure server. See https://redis.io
    ### END INIT INFO
    
    REDISPORT=6379
    EXEC=/usr/local/redis/bin/redis-server
    CLIEXEC=/usr/local/redis/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
    修改后的样子

       1)在脚本的第二行添加 # chkconfig: 2345 80 90

        注意:这行虽然以符号#开头,但并不是不起作用的注释代码

        2345 代表的是linux系统的启动级别,也就是说在2345 这四个linux启动级别的时候会自动启动 redis 服务。

        80 90 分别代表在系统启动服务和关闭服务的优先级,数字越小,优先级越高,越先启动或关闭。

      2)修改 EXEC 和 CLIEXEC 的值

        EXEC=/usr/local/redis/bin/redis-server
        CLIEXEC=/usr/local/redis/bin/redis-cli

      3)还可以把 redis 启动方式修改为后台方式,不修改也可以

      $EXEC $CONF &

      这个 & 就代表后台守护线程方式启动

    3、将redis配置文件拷贝到/etc/redis/端口ID.conf

      mkdir /etc/redis
      cp /usr/local/src/redis-4.0.10/redis.conf /etc/redis/6379.conf

      文件名改为 6379.conf 是由 /etc/rc.d/init.d/redis 里的CONF="/etc/redis/${REDISPORT}.conf"决定的

    4、增加执行权限

      chmod +x /etc/init.d/redis

    这个时候我们已经可以使用 service redis stop/start 这些命令了


    开机自启动设置

    1、设置开机自启

      chkconfig --add redis

    2、查看开机自启动项

      chkconfig --list

    8、重启

      reboot

    9、ps -ef | grep 6379


    一台计算机安装多个redis

    不需要编译多次,也不需要把编译好的文件夹复制多份

    1、只需要复制 /etc/rc.d/init.d/ 目录下的 redis 文件为redis1、redis2

    2、修改redis1、redis2里面的端口号

    3、复制/etc/redis/ 目录下的 6379.conf 为6380.conf、6381.conf

    4、修改6380.conf、6381.conf里的端口号

  • 相关阅读:
    Chrome Native Messaging 与本地程序之间的通信
    由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
    linux
    maven POM.xml 标签详解 转
    java-线程观察整个生命周期
    java-Web项目开发中Spring整合Junit单元测试
    java-Map集合的四种遍历方式
    Java-8内置的核心函数式接口接口
    正则表达式
    Java-Atomic系列12大类实例讲解和原理分解
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/9582185.html
Copyright © 2011-2022 走看看