Redis安装和配置

来源:互联网 发布:淘宝卖家推广费用 编辑:程序博客网 时间:2024/06/05 15:18

redis下载

redis目前发布了Stable (3.2)和Beta (4.0)两个主要版本,本文通过下载源码编译进行安装。

enter description here
redis下载地址

从上图可以看到,redis在github上的托管地址是:redis-github托管地址

下载

在终端输入:

$ git clone https://github.com/antirez/redis.git

enter description here

make

我刚才将redis下载到了/home/admin/redis下面

enter description here

执行make

enter description here

编译完成

enter description here

可以执行make test,进行单元测试

$ sudo make test

enter description here

执行make install

$ sudo make PREFIX=/usr/local/redis install

enter description here

执行到这里,如果没有发现错误的话,就可以在终端输入

$ redis-server

启动redis服务了,请注意下图中红色方框圈中的部分,这是告诉我们可以给redis制定一个conf文件的路径来让redis加载自定义的参数,/path/to/redis.conf需要改成我们自己的redis的配置文件。

enter description here

启动客户端

redis-server启动后,新开一个终端输入

$ redis-cli

就可以启动一个客户端了,我们可以就可以链接上redis了。请注意在redis客户端链接的时候,我们其实是可以传递需要链接的redis服务器的ip地址和redis对应的端口的,这里我们先直接使用redis-cli默认的参数来链接本地的redis服务器。

enter description here

链接地址地址的redis服务

在终端中输入

$ redis-cli --help

可以看到redis-cli支持的参数列表

admin@admin-pc:~/redis$ redis-cli --helpredis-cli 3.2.0Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]  -h <hostname>      Server hostname (default: 127.0.0.1).  -p <port>          Server port (default: 6379).  -s <socket>        Server socket (overrides hostname and port).  -a <password>      Password to use when connecting to the server.  -r <repeat>        Execute specified command N times.  -i <interval>      When -r is used, waits <interval> seconds per command.

因此,我们可以使用下面的命令

redis-cli -h 192.168.1.111 -p 6379

来连接本地的redis服务。其中192.168.1.111是我电脑的内网ip地址,6379是redis默认的端口地址。

enter description here

给redis加密

上次出现的mongodb大规模的勒索事件,让我们知道数据安全的重要性了。redis提供了连接时的密码验证,默认的配置是没有密码的,更改密码如要在redis.conf文件下配置,上面我们说到了我们可以制定redis的配置文件的路径,在clone的redis的根文件夹下有一个redis.conf文件,这个就是我们需要的配置文件。

指定配置文件的路径

我们的make install步骤中,指定了redis的安装路径为/user/local/redis/
查看redis安装路径下有哪些东西,我们使用的redis-server命令就是来自于这个文件夹下。

enter description here

为了方面我们以后启动redis 服务器,我们在/user/local/redis/下新建文件夹etc存放我们的redis的配置文件。这里需要讲redis源码根目录下的redis.conf文件拷贝到新建的etc文件夹下。

$ sudo mkdir etc$ sudo cp ~/redis/redis.conf etc/$ tree

enter description here

修改redis.conf下密码的配置

  1. 进入etc文件夹
$ cd etc
  1. 使用vim或者gedit,编辑redis.conf下的requirepass配置,大概在.conf文件的500行的位置。

enter description here

将上图中的# requirepass foobared改成

requirepass 你想改的密码#eg:requirepass admin123654

保存

利用配置好的redis.conf配置重新启动redis服务。

重新启动的时候,请保证没有其他的redis-server在运行。

$ cd /usr/local/redis/bin$ lsredis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server$ ./redis-server ../etc/redis.conf 

可以看到redis服务器已经启动了。

enter description here

连接redis

同样是使用redis-cli连接本机的redis服务,可以正常链接。

$ redis-cli

enter description here

但是,如果想执行操作,就会发现redis会提示没有认证。

enter description here

这时候,我们就要用

auth admin123654#这里请替换成自己设置的密码

enter description here

可以看到已经允许执行查询了。

注意事项

如果直接使用redis-sever redis.conf进行启动redis服务的话,你用Ctrl+C是不能够关闭redis服务的。(另外,CTRL+Z只是暂停当前进程。)

Redis的集群管理

这时候,我们可以使用/usr/local/redis/bin/下的redis-sentinel来启动redis集群。用ls -l可以看到,redis-sentinel其实就是一个指向redis-server的链接。

enter description here

用redis-sentinel启动redis

将redis源码下的sentinel.conf文件拷贝到usr/local/redis/etc/下。

sudo ./redis-sentinel ../etc/sentinel.conf

这里需要sudo的原因是redis-sentinel需要sentinel.conf的写权限。

enter description here

可以看到已经可以启动了,这时候用CTRL+C发送KILL信号,就可以关闭redis集群管理器了。

enter description here

优化redis的启动方式

从上面的讲述中,我们需要在每次启动redis的时候,都要指定配置文件的路径,那么我们可以通过编写一个脚本来完成这件事情。
我们可以在当前用户空间下的任意位置,编写一个redis.sh的脚本。

touch redis.shchmod u+x redis.sh

redis.sh的内容如下:

#!/bin/bashcd /usr/local/redis/binecho "Use sudo to start your redis"sudo ./redis-server ../etc/redis.conf

编辑完成后,

./redis.sh 

就可以启动redis了

enter description here

还可以讲redis.sh添加到profile配置中。

export REDIS_HOME=/home/admin/export PATH=$REDIS_HOME:$PATH

enter description here
保存后,执行

source ~/.profile

使配置生效。
在任意位置,启动中断后,执行

redis.sh

就可以启动redis服务器了。

enter description here

0 0