Redis的安装
博客专区 > longload 的博客 > 博客详情
Redis的安装
longload 发表于1年前
Redis的安装
  • 发表于 1年前
  • 阅读 19
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: 本文是基于当前最新版本redis-3.2.3.安装,系统为CentOS7
  1. Redis的下载

     下载redis-3.2.3.tar.gz,或者最新下载地址为http://redis.io/download  或者liunx命令

    # wget https://download.redis.io/releases/redis-3.2.3.tar.gz
  2. 安装编译和安装所需要的包

    因为Redis是基于C编写,需要安装编译和安装所需要的包。执行下面命令(需要Root权限)

    # yum install gcc tcl
  3. 创建安装目录

    # mkdir /usr/local/redis
  4. 解压并安装

    解压并进入目录

    # tar -zxvf redis-3.2.3.tar.gz
    # cd redis-3.2.3

    安装(使用 PREFIX 指定安装目录) 

    # make PREFIX=/usr/local/redis install

    安装完成后,可以看到/usr/local/redis 目录下有一个 bin 目录,bin 目录里就是 redis 的命令脚本:

  5.  Redis 配置成服务

    • 复制启动脚本到/etc/rc.d/init.d中

      Redis 的启动脚本为(下载文件解压目录里面utils/redis_init_script中):/home/longload/redis-3.2.3/utils/redis_init_script

      # cd /home/longload/redis-3.2.3/utils
      

       将启动脚本复制到/etc/rc.d/init.d/目录下,并命名为 redis

      # cp /home/longload/redis-3.2.3/utils/redis_init_script  /etc/rc.d/init.d/redis
    • 修改配置

       编辑/etc/rc.d/init.d/redis,修改相应配置,使之能注册成为服务:

      # vi /etc/rc.d/init.d/redis
      • 增加chkconfig标识

         在“#!/bin/sh“下面增加。 提示:如果不添加上面的内容,在注册服务时会提示:service redis does not support chkconfig

        #!/bin/sh
        #chkconfig: 2345 80 90
      • 端口配置

        REDISPORT 端口 6379。(注意:端口名将与下面的配置文件名有关) 

      • 修改EXEC路径

         EXEC=/usr/local/bin/redis-server 改为 EXEC=/usr/local/redis/bin/redis-server

      • 修改CLIEXEC路径

         CLIEXEC=/usr/local/bin/redis-cli 改为 CLIEXEC=/usr/local/redis/bin/redis-cli

      • 配置文件设置(创建redis 配置)

        创建conf目录

        # cd /usr/local/redis
        # mkdir conf

         redis 配置文件/home/longload/redis-3.2.3/redis.conf 到/usr/local/redis/conf 目录并按端口号重命名为 6379.conf

        # cp /home/longload/redis-3.2.3/redis.conf /usr/local/redis/conf/6379.conf
      • 修改CONF路径

        CONF="/etc/redis/${REDISPORT}.conf" 改为 CONF="/usr/local/redis/conf/${REDISPORT}.conf"

      • 修改 redis 开启的命令,以后台运行的方式执行

        在21行 $EXEC $CONF后面增加&,   $EXEC $CONF &

    • 完整脚本

      #!/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.
      
      REDISPORT=6379
      EXEC=/usr/local/redis/bin/redis-server
      CLIEXEC=/usr/local/redis/bin/redis-cli
      
      PIDFILE=/var/run/redis_${REDISPORT}.pid
      CONF="/usr/local/redis/conf/${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
      
  6. 将 Redis 注册成为服务

    # chkconfig --add redis
  7. 防火墙中打开对应的端口 

    编辑iptables文件(如果Centos7中未安装iptables 、可以参照linux环境下zookeeper部署中的安装)

    # vi /etc/sysconfig/iptables

    加端口配置

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

     重启防火墙

    # systemctl restart iptables.service

    查看端口状态 

    # iptables -L -n
  8. 修改redis 配置文件设置

    # vi /usr/local/redis/conf/6379.conf

    修改如下配置:      daemonize 为No的时候Pid文件不能生成,不生成Stop不能使用。pid文件名与shell文件对应

    • daemonize no 改为> daemonize yes 

    • pidfile /var/run/redis.pid 改为> pidfile /var/run/redis_6379.pid

    • 注释掉 bind 127.0.0.1 

      注释掉本机,局域网内的所有计算机都能访问.不然会提示Connection refused: connect 

      bind  局域网IP    只能局域网内IP的机器访问, 本地localhost都无法访问。但是可以同时绑定多个Id,例如:bind  192.168.48.111 127.0.0.1   这样局域网和本机都可以访问

    默认情况下,Redis 开启安全认证,可以通过6379.conf 的 requirepass 指定一个验证密码

  9. 启动 Redis 服务

    # service redis start
  10. 将 Redis 添加到环境变量中

    # vi /etc/profile

    增加如下内容(最后)

    ## Redis env
    export PATH=$PATH:/usr/local/redis/bin

    是配置立即生效

    # source /etc/profile
  11. 测试

    使用 redis-cli 等 redis 命令

  12. 关闭 Redis 服务

    # service redis stop

       

共有 人打赏支持
粉丝 4
博文 66
码字总数 104702
×
longload
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: