文档章节

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
成都
程序员
私信 提问

暂无文章

WebSocketdemo

WebSocket是html5提供的一种在单个tcp连接上进行全双工通讯的协议。 Http协议是无状态、无连接的、单向的应用层协议,采用了请求响应模型,通信请求智能有客户端发起,服务端对请求做出应答处...

qiang123
15分钟前
0
0
谷歌推迟公布Google+漏洞遭参议员不满

参议院商务委员会主席约翰·图恩和另外两位参议员杰瑞·莫兰和罗杰·维克发出信函,要求谷歌解释推迟披露此问题的原因。信中称:“谷歌如果要保持或重获用户对其服务的信任,就必须在公众和立...

linuxCool
22分钟前
0
0
最重要的是做什么,而不是怎么做。

最重要的是做什么,而不是怎么做。 做什么是战略,怎么做是战术。将军下令说,天黑前拿下这座山头,这是战略。手下的士兵可以不知道为什么要拿下这座山头,还非得是天黑之前,但士兵必须知道...

我是菜鸟我骄傲
今天
6
0
w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
2
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部