Linux装置部署Redis(超级具体)

Author: 刘建(Abbott.liu)

Date:

前言

网上搜寻了一筐如何在Linux下装置部署Redis的文章,各种文章混搭在一起勉强装置胜利了。本人也记录下,不便后续装置时候有个借鉴之处。

  • Redis版本 redis-5.0.7
  • 服务器版本 Linux CentOS 7.6 64位

下载Redis

进入官网找到下载地址https://redis.io/download

右键Download按钮,抉择复制链接。

登录服务器,进入ssh root@2.140.189.129文件夹

进入到Xshell控制台(默认以后是root根目录),输出wget将下面复制的下载链接粘贴上,如下命令:

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

解压并装置Redis

解压

下载实现后须要将压缩文件解压,输出以下命令解压到当前目录

tar -zvxf redis-5.0.7.tar.gz

解压后在根目录上输出ls 列出所有目录会发现与下载redis之前多了一个redis-5.0.7.tar.gz文件和 redis-5.0.7的目录。

挪动redis目录

个别都会将redis目录搁置到 /usr/local/redis目录,所以这里输出上面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。

mv ./redis-5.0.7 /usr/local/redis

cd 到/usr/local目录下输出ls命令能够查问到当前目录曾经多了一个redis子目录,同时/root目录下曾经没有redis-5.0.7文件夹

cd /usr/local

编译

cd /usr/local/redis

输出命令make执行编译命令,接下来控制台会输入各种编译过程中输入的内容。

make

最终运行后果如下:


make test

You need tcl 8.5 or newer in order to run the Redis test

yum install tcl

而后

make test

装置

输出以下命令

make PREFIX=/usr/local/redis install

这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序寄存的门路。比方咱们当初就是指定了redis必须寄存在/usr/local/redis目录。假如不增加该关键字Linux会将可执行文件寄存在/usr/local/bin目录,

库文件会寄存在/usr/local/lib目录。配置文件会寄存在/usr/local/etc目录。其余的资源文件会寄存在usr/local/share目录。这里指定号目录也不便后续的卸载,后续间接rm -rf /usr/local/redis即可删除redis。

执行后果如下图:

启动redis

./bin/redis-server& ./redis.conf

依据下面的操作曾经将redis装置实现了。在目录/usr/local/redis 输出上面命令启动redis

# 查问启动过程ps -aux|grep redis# 敞开Redisbin/redis-cli shutdown

Redis设置明码登录之后,想敞开redis服务器,须要

redis-cli -a '明码' shutdown

mkdir -p /usr/local/redis/etcmv redis.conf etc

chmod 777 binchmod 777 etcsudo chmod 777 ./etc/redis.confsudo chmod 777 ./bin/redis-server

cd /usr/local/redis/srccp mkreleasehdr.sh /usr/local/redis/bin这两行能够不执行

启动redis

依据下面的操作曾经将redis装置实现了。在目录/usr/local/redis 输出上面命令启动redis

./bin/redis-server etc/redis.conf

开启近程拜访

找到redis中的redis.conf文件并编辑(在装置门路中找到)

vim ./redis.conf

1、找到bind 127.0.0.1并正文掉

默认127.0.0.1只能本地拜访,正文掉即可ip拜访

2、批改 protected-mode 属性值为no

正文掉并把保护模式禁用当前能够IP拜访

3、批改daemonize属性将no 改为yes

将daemonize设置为yes即启动后盾运行

nohup ./bin/redis-server ./etc/redis.conf &
redis-cli -h 2.140.189.129 -p 6379

比拟重要的配置项

配置项名称值范畴阐明
daemonizeyes、noyes示意启用守护过程,默认是no即不以守护过程形式运行。其中Windows零碎下不反对启用守护过程形式运行
port指定 Redis 监听端口,默认端口为 6379
bind绑定的主机地址,如果须要设置近程拜访则间接将这个属性备注下或者改为bind * 即可,这个属性和上面的protected-mode管制了是否能够近程拜访。
protected-modeyes 、no保护模式,该模式管制内部网是否能够连贯redis服务,默认是yes,所以默认咱们外网是无法访问的,如需外网连贯rendis服务则须要将此属性改为no。
timeout300当客户端闲置多长时间后敞开连贯,如果指定为 0,示意敞开该性能
logleveldebug、verbose、notice、warning日志级别,默认为 notice
databases16设置数据库的数量,默认的数据库是0。整个通过客户端工具能够看失去
rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采纳 LZF 压缩,如果为了节俭 CPU 工夫,能够敞开该选项,但会导致数据库文件变的微小。
dbfilenamedump.rdb指定本地数据库文件名,默认值为 dump.rdb
dir指定本地数据库寄存目录
requirepass设置 Redis 连贯明码,如果配置了连贯明码,客户端在连贯 Redis 时须要通过 AUTH <password> 命令提供明码,默认敞开
maxclients0设置同一时间最大客户端连接数,默认无限度,Redis 能够同时关上的客户端连接数为 Redis 过程能够关上的最大文件描述符数,如果设置 maxclients 0,示意不作限度。当客户端连接数达到限度时,Redis 会敞开新的连贯并向客户端返回 max number of clients reached 错误信息。
maxmemoryXXX <bytes>指定 Redis 最大内存限度,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试革除已到期或行将到期的 Key,当此办法解决 后,依然达到最大内存设置,将无奈再进行写入操作,但依然能够进行读取操作。Redis 新的 vm 机制,会把 Key 寄存内存,Value 会寄存在 swap 区。配置项值范畴列里XXX为数值。

批改初始密码

在配置文件中有个参数requirepass这个就是配置redis拜访明码的参数。

比方requirepass abc123

而后重新启动redis

#首先查问到redis的pid后,kill掉,而后重启[root@iz2zee4qz3fqi9xkyn76j6z ~]# ps -ef|grep redisroot     16568     1  0 6月16 ?       00:06:13 ./bin/redis-server *:6379root     24169 24153  0 13:35 pts/1    00:00:00 grep --color=auto redis[root@localhost bin]#  kill -9 16568[root@localhost bin]# ./redis-server redis.conf 

后盾启动胜利如下

最初咱们应用redis客户端通过明码近程连贯:

#近程连贯redis-cli -h 2.140.189.129 -p 6379redis 127.0.0.1:6379> auth abc123

查看Redis是否正在运行

1、采取查看过程形式

ps -aux|grep redis

2、采取端口监听查看形式

netstat -lanp | grep 6379

后果如下图: