包安装
下载并安装
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
tar -zvxf redis-4.0.2.tar.gz
cd redis-4.0.2
make
下面启动redis服务
make完后 redis-4.0.2目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
$ cd src
$ ./redis-server
注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。
以后端模式启动redis:
修改redis.conf配置文件,这里使用默认端口6379,有需要的可以更改。 把daemonize改为yes(这里推荐以后端模式启动)
$ cd src
$ ./redis-server redis.conf
Ubuntu 下安装
在 Ubuntu 系统安装 Redis 可以使用以下命令:
$sudo apt-get update
$sudo apt-get install redis-server
启动 Redis
$ redis-server
查看 redis 是否启动?
$ redis-cli
以上命令将打开以下终端:
redis 127.0.0.1:6379>
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
redis 127.0.0.1:6379> ping
PONG
以上说明我们已经成功安装了redis。
卸载:
sudo apt remove redis-server
其他系统安装可参考菜鸟教程:http://www.runoob.com/redis/redis-install.html
安装好redis后需要设置密码
redis在生产环境中通常都会设置密码以保证一定的安全性,本篇blog就简单记录一下如何在redis中设置客户端登录密码。
- 方式一 指令修改
当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效
1)首先进入redis,如果没有开启redis则需要先开启:
ubuntu@VM-0-16-ubuntu:~$ redis-cli
127.0.0.1:6379>
2)查看当前redis有没有设置密码:
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
3)为以上显示说明没有密码,那么现在来设置密码:
127.0.0.1:6379> config set requirepass pass
OK
4)再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
5)进行密码登入就可以再次查看
127.0.0.1:6379> auth pass
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "pass"
6)使用密码登入redis客户端指令:
ubuntu@VM-0-16-ubuntu:~$ redis-cli -a pass
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "pass"
如何停止/启动/重启redis服务:
/etc/init.d/redis-server stop
/etc/init.d/redis-server start
/etc/init.d/redis-server restart
- 方式二 指令配置文件(永久方式)
需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:
打开redis.conf文件,搜索requirepass关键字,修改redis.conf配置文件
sudo vim /etc/redis/redis.conf
关注标记的那一行,#requirepass foobared。设置密码的方法就是去掉注释的#,把foobared替换成自己的密码即可,例如将密码设置为123456:
修改完成后重启redis,再次通过redis客户端redis-cli登录并操作可以发现会报一个身份认证错误:
ubuntu@VM-0-16-ubuntu:~$ redis-cli
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379>
这就说明我们已经成功的设置了密码,所以通过客户端连接的话必须加上密码参数才能正常连接:
ubuntu@VM-0-16-ubuntu:~$ redis-cli -a redis
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "redis"
开启远程连接
redis可视化工具为:redis desktop manager
原来是redis默认只能localhost登录,所以需要开启远程登录。解决方法如下:
在redis的配置文件redis.conf中,找到bind localhost注释掉。
注释掉本机,局域网内的所有计算机都能访问。
band localhost 只能本机访问,局域网内计算机不能访问。
ubuntu@VM-0-16-ubuntu:~$ ps -ef | grep redis
redis 2838 1 0 11:22 ? 00:00:05 /usr/bin/redis-server 127.0.0.1:6379
ubuntu 10045 10020 0 14:01 pts/0 00:00:00 grep --color=auto redis
bind 局域网IP 只能局域网内IP的机器访问, 本地localhost都无法访问。
找到bind localhost注释掉,或将bind 127.0.0.1 改成了bind 0.0.0.0。
验证方法:
ubuntu@VM-0-16-ubuntu:~$ ps -ef | grep redis
redis 10186 1 0 14:03 ? 00:00:00 /usr/bin/redis-server *:6379
ubuntu 10357 10020 0 14:06 pts/0 00:00:00 grep --color=auto redis
/usr/local/bin/redis-server :6379 中通过”“就可以看出此时是允许所有的ip连接登录到这台redis服务上。