zoukankan      html  css  js  c++  java
  • Redis安装与配置

    一、下载redis

      下载页面:http://download.redis.io/releases/

      选择需要下载的版本,复制链接,比如http://download.redis.io/releases/redis-4.0.14.tar.gz

      执行命令下载redis

    [root@centos ~]# cd /usr/local/src/
    [root@centos src]# wget http://download.redis.io/releases/redis-4.0.14.tar.gz
        ......... 下载过程已忽略 ........
    [root@centos src]# ls
    redis-4.0.14.tar.gz

      

    二、解压

      解压到/usr/local目录下,并将目录名重命名,去掉版本号。

    [root@centos src]# ls
    redis-4.0.14.tar.gz
    [root@centos src]# tar -zxf redis-4.0.14.tar.gz -C /usr/local
    [root@centos src]# cd /usr/local/
    [root@centos local]# ls
    bin  etc  games  include  java  lib  lib64  libexec  mysql  redis-4.0.14  sbin  share  src  zookeeper
    [root@centos local]# mv redis-4.0.14 redis
    

      

      

    三、安装编译所需的一些软件(非必需操作)

      如果操作系统已经安装了一些gcc、g++...以及一些动态库,那么可以忽略这一步

    # centos使用下面命令
    yum groupinstall "Development Tools"
    
    # ubuntu使用下面命令
    apt-get install -y build-essential
    

      

    四、执行编译操作

      进入到redis文件目录,进行make,然后进入redis/src目录下进行make install,即可完成安装,指定的PREFIX表示将redis安装到该路径下。

    [root@centos ~]# cd /usr/local/redis/
    [root@centos redis]# ls
    00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-sentinel  src    utils
    BUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  sentinel.conf     tests
    [root@centos redis]# make
    [root@centos redis]# cd src/
    [root@centos src]# make install PREFIX=/usr/local/redis
        CC Makefile.dep
    
    Hint: It's a good idea to run 'make test' ;)
    
        INSTALL install
        INSTALL install
        INSTALL install
        INSTALL install
        INSTALL install
    

      make install既可以在redis目录下,也可以在redis/src目录下去执行。  

      查看/usr/local/redis目录,其中有一个bin目录,包含了可执行文件(脚本):

    [root@centos ~]# cd /usr/local/redis
    [root@centos redis]# ls
    bin
    [root@centos redis]# ls bin/
    redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server
    

      

    六、简单配置redis

      配置文件默认是在解压后的redis目录下,文件名为redis.conf,首先在redis的安装目录下创建一个目录来存放redis配置文件:

    [root@centos ~]# cd /usr/local/redis
    [root@centos redis]# ls
    bin
    [root@centos redis]# mkdir etc
    [root@centos redis]# ls
    bin  etc
    [root@centos redis]# mv /usr/local/src/redis-4.0.14/redis.conf  /usr/local/redis/etc/
    

      

      打开配置文件,可以看到很多配置项,可以根据需求进行配置。

    port 6379
    pidfile /var/run/redis_6379.pid
    daemonize no
    databases 16
    
    save 900 1
    save 300 10
    save 60 10000
    
    rdbcompression yes
    ...........
    

      

    六、redis启动与登录

    6.1、启动redis服务器

      启动redis,需要使用redis-server命令(就是redis/bin目录下的redis-server脚本)

      需要注意的是,启动redis,可以单纯的使用redis-server命令,这样会使用默认的配置文件(默认的配置文件是指与redis-server相同目录的redis.conf);

      如果需要自己执行配置文件,那么就需要在redis-server后面追加配置文件路径。

    # 使用默认的配置文件启动redis服务器(/usr/local/redis/bin/redis.conf)
    [root@centos ~]# /usr/local/redis/bin/redis-server 
    
    # 明确指定redis启动时使用的配置文件
    [root@centos ~]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
    

      上面两条命令执行后,如果没有意外,应该可以看到下面图案,表示启动成功了

      

      注意,这个时候不要将窗口关闭,或者按ctrl + C,因为这样关闭redis-server。

      如果需要将redis的运行模式改为后台运行,可以修改配置中的daemonize选项,默认的是为no,将其设置为yes即可

      

      保存配置文件后,需要重启redis,修改的配置才会生效。在启动redis服务器,指定配置文件路径,redis服务器就会以后台方式运行  

    [root@centos ~]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
    4789:C 22 Dec 22:28:10.235 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    4789:C 22 Dec 22:28:10.235 # Redis version=4.0.14, bits=64, commit=00000000, modified=0, pid=4789, just started
    4789:C 22 Dec 22:28:10.235 # Configuration loaded
    [root@centos ~]# ps -ef | grep 'redis'
    root       4790      1  0 22:28 ?        00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:6379
    root       4796   1446  0 22:32 pts/0    00:00:00 grep redis

      

    6.2、使用客户端登录服务器

      当redis服务器启动之后,我们就可以利用redis提供的客户端脚本,来登录到redis服务器。

      客户端脚本在redis/src目录下,使用方式很简单,如下图

    [root@centos ~]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379
    127.0.0.1:6379>
    

      -h指定主机,-p指定端口,当不指定-h,-p时,默认是本机的6379端口。

      redis-cli有很多的可选参数,可以使用/usr/local/redis/bin/redis-cli --help来查看。

    6.3、连接redis-server出现connection refused

      当我们尝试使用连接非本机的redis服务器时,可能会出现Connection refused的情况,如下:

    [root@centos ~]# /usr/local/redis/bin/redis-cli -h 192.168.1.3 -p 6379
    Could not connect to Redis at 192.168.1.3:6379: Connection refused
    Could not connect to Redis at 192.168.1.3:6379: Connection refused
    not connected>
    

      需要修改几个地方:1、修改redis服务器配置。2、防火墙放行6379端口;

      首先查看redis服务器配置中的bind配置项,如果是配置的是127.0.0.1,表示只能127.0.0.1这个ip可以连接redis服务器。

      如果需要允许其他机器登录,那么可以设置bind为客户端机器的ip即可,多个ip使用空格分隔;

      如果对登陆的机器不做限制,可以将bind配置项删除(或者注释掉)。

    # 注释掉bind,表示对登录的机器ip不做限制
    # bind 127.0.0.1
    

      

      除了设置redis服务器的bind配置,还需要开放redis服务器防火墙的6379端口,只需要在redis服务器上执行下面命令

    [root@centos ~]# iptables -A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
    [root@centos ~]# service iptables restart
    iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
    iptables: Flushing firewall rules:                         [  OK  ]
    iptables: Unloading modules:                               [  OK  ]
    iptables: Applying firewall rules:                         [  OK  ]
    

      

      然后进行测试:

    [root@centos ~]# /usr/local/redis/bin/redis-cli -h 192.168.1.3 -p 6379
    192.168.1.3:6379>
    

      

    6.4、redis的数据操作命令

      可以参考:redis命令总结

    七、配置登录密码

      一般情况下,是不需要做redis登录验证的,按照官方解释,用户登录redis,每秒可以尝试150k(15万)次登录,这意味着你需要有非常非常复杂、强壮的密码;否则使用暴力方式破解,用不了多少时间。

      另外,在企业内部,一般都会搭建自己的内网,服务器一般都做了ip登陆限制,所以登录验证也不需要担心外部机器访问到redis服务器。

      设置redis的登录密码也很简答,在redis的配置文件中,有一个requirepass配置项,后面跟着的就是密码,默认情况下是注释掉的,表示连接redis服务器不需要密码验证。

      如果要设置登录密码,只需要设置requirepass的配置项值即可,比如下面将登录密码设置为searchingbeyond

    # 编辑redis配置文件 vi /usr/local/redis/etc/redis.conf,设置requirepass配置项
    requirepass searchingbeyond
    

      

      修改配置文件后,redis服务器需要重启,并且启动时需要指定配置文件:

    [root@centos ~]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
    4839:C 22 Dec 23:48:00.029 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    4839:C 22 Dec 23:48:00.029 # Redis version=4.0.14, bits=64, commit=00000000, modified=0, pid=4839, just started
    4839:C 22 Dec 23:48:00.029 # Configuration loaded
    

      

      测试不指定密码登录:

    [root@centos ~]# /usr/local/redis/bin/redis-cli -h 192.168.1.3 -p 6379
    192.168.1.3:6379> set testKey 'testValue'
    (error) NOAUTH Authentication required.
    

      可以看到,我们连接redis时,没有加密码,所以虽然表面上连接成功了,但是执行redis命令时,就会提示“未授权”

      测试指定密码登录,需要使用-a选项,后面加上密码即可

    [root@centos ~]# /usr/local/redis/bin/redis-cli -h 192.168.1.3 -p 6379 -a searchingbeyond
    Warning: Using a password with '-a' option on the command line interface may not be safe.
    192.168.1.3:6379> set testKey 'testValue'
    OK
    192.168.1.3:6379> get testKey
    "testValue"
    

      

      集群搭建参考:redis集群搭建 

     

  • 相关阅读:
    观察者模式
    strchr
    行转列
    Ja.Net:融合 Java 1.5 和 .NET !
    主题:借JavaFX之风,Swing终于熬到了出头之日
    DOM和SAX概念的总结
    几个linux的命令技巧
    gcc编译的东东
    详细介绍DOM和SAX
    oracle的number类型默认长度是多少?
  • 原文地址:https://www.cnblogs.com/-beyond/p/7653075.html
Copyright © 2011-2022 走看看