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集群搭建 

 

 

posted @ 2017-10-11 21:52  寻觅beyond  阅读(320)  评论(0编辑  收藏  举报
返回顶部