Redis的安装与部署
1、下载安装包
命令:wget http://download.redis.io/releases/redis-5.0.5.tar.gz
访问https://redis.io/download 到官网进行下载。这里下载最新的5.0.5版本.
2、安装
1)在 /usr/locat/目录下新建redis文件夹
命令:touch redis
2)将下载的redis-5.0.5.tar.gz放在 /usr/locat/redis 目录下
3)对redis-5.0.5.tar.gz进行解压
命令:tar -zxf redis-5.0.5.tar.gz
4)进入解压文件目录使用make对解压的Redis文件进行编译
5)编译完成之后,可以看到解压文件redis-5.0.5 中会有对应的src、conf等文件夹 ,如下图
6)编译成功后,进入src文件夹,执行make install进行Redis安装
3、部署
1) 在/usr/locat/redis 目录下创建bin和etc文件
创建bin命令:touch bin
创建etc命令:touch etc
2)回到刚刚安装目录,找到redis.conf,将其复制移动到 /usr/local/redis/ect 下
命令: mv redis.conf /usr/local/redis/etc/
3)进入src目录,移动mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server到/usr/local/redis/bin/
命令 :mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/
4)进入/usr/local/redis/bin/目录下,执行redis-server 启动redis
5)配置redis.conf文件
redis.conf 配置解析(设置红色的基本就可以自己用了,bind配置0.0.0.0后要在/etc/sysconfig/iptables配置相应的端口):
daemonize:如需要在后台运行,把该项的值改为yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项(设置0.0.0.0 则改为用iptables来控制访问权限)可直接注释bind
port:监听端口,默认为6379
protected-mode:如果需要外网访问则设置为no
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码(如果需要外网访问,则这个需要加上密码,默认是注释的)
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量
6)再次启动redis服务,并指定启动服务配置文件
命令:./redis-server /usr/local/redis/etc/redis.conf
7)查看是否可以连接客户端
附件:
1)查看进程:netstat -tunpl|grep 6379
2)杀掉进程 kill -9 pid
3) 检查是否安装redis-cli:whereis redis-cli
4)检查是否安装redis-server:whereis redis-server
5)设置redis的密码:
没有密码的情况下:输入 redis-cli 命令,进入客户端;输入 config set requirepass **** (****为你要设置的密码),设置成功的话会返回‘OK’字样,然后重启redis服务就可以了。
有密码的情况下:输入 redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你心设置的密码)命令 ,进入客户端;输入 config set requirepass **** (****为你要设置的密码),设置成功的话会返回‘OK’字样,然后重启redis服务就可以了。
6)停止redis
第一种方式:使用命令 redis-cli -h 127.0.0.1 -p 6379 -a **** shutdown
第二种方式:查看进程,netstat -tunpl|grep 6379,杀掉进程 kill -9 pid
7)使用redis-cli
客户端检测连接是否正常
8)检测6379端口是否在监听
命令:netstat -lntp | grep 6379
9)检测后台进程是否存在
命令:ps -ef |grep redis
10)启动redis:
方式一:redis-server &
redis-server /usr/local/redis/etc/redis.conf &
加上`&`号使redis以后台程序方式运行
方式二:redis-server
redis-server /usr/local/redis/etc/redis.conf
11)常用命令
redis-server /usr/local/redis/etc/redis.conf //启动redis
pkill redis //停止redis
卸载redis:
rm -rf /usr/local/redis //删除安装目录
rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
rm -rf /usr/redis/redis-5.0.5 //删除redis解压文件夹
12)让外网能够访问redis
a.配置防火墙:
firewall-cmd --add-port=6379/tcp --permanent(开放6379端口)
firewall-cmd --reload(重启防火墙以使配置即时生效)
查看系统所有开放的端口:netstat -anp
查看指定端口是否开放:firewall-cmd --query-port=8080/tcp
查看防火墙的状态(Active: active (running)为开启):systemctl status firewalld
开启防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
b.此时 虽然防火墙开放了6379端口,但是外网还是无法访问的,因为redis监听的是127.0.0.1:6379,并不监听外网的请求。
(一)把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1前面加#注释掉
(二)命令:redis-cli连接到redis后,通过 config get daemonize和config get protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no。