文档章节

Redis的安装

longload
 longload
发布于 2016/08/14 19:07
字数 983
阅读 20
收藏 0
  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

       

© 著作权归作者所有

共有 人打赏支持
longload
粉丝 3
博文 66
码字总数 104702
作品 0
成都
程序员

暂无文章

OSChina 周三乱弹 —— 我居然在 osc 里追剧

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @舆情风控小组 :分享王菲的单曲《笑忘书》 《笑忘书》- 王菲 手机党少年们想听歌,请使劲儿戳(这里) @艾尔库鲁斯:如果给大家一个选择的机...

小小编辑
47分钟前
70
8
rabbitMq的客户端使用笔记

1、channel声明队列的queueDeclare方法的参数解析 durable: 是否持久化, 队列的声明默认是存放到内存中的,如果rabbitmq重启会丢失,如果想重启之后还存在就要使队列持久化,保存到Erlang自...

DemonsI
55分钟前
0
0
“全新” 编程语言 Julia开箱体验

本文共 851字,阅读大约需要 3分钟 ! 概 述 Julia 是一个 “全新”的高性能动态编程语言,前两天迎来了其 1.0 正式版的重大更新。Julia集 Python、C、R、Ruby 之所长,感觉就像一种脚本语言...

CodeSheep
今天
12
0
软件自动化测试初学者忠告

题外话 测试入门 很多受过高等教育的大学生经常问要不要去报测试培训班来入门测试。 答案是否。 高等教育的合格毕业生要具备自学能力,如果你不具备自学能力,要好好地反省一下,为什么自己受...

python测试开发人工智能安全
今天
5
0
java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部