关于redis:刘建Linux安装部署Redis超级详细

5次阅读

共计 3374 个字符,预计需要花费 9 分钟才能阅读完成。

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

# 敞开 Redis
bin/redis-cli shutdown

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

redis-cli -a '明码' shutdown

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

chmod 777 bin
chmod 777 etc
sudo chmod 777 ./etc/redis.conf
sudo chmod 777 ./bin/redis-server

cd /usr/local/redis/src
cp 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

比拟重要的配置项

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

批改初始密码

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

比方requirepass abc123

而后重新启动 redis

# 首先查问到 redis 的 pid 后,kill 掉,而后重启
[root@iz2zee4qz3fqi9xkyn76j6z ~]# ps -ef|grep redis
root     16568     1  0 6 月 16 ?       00:06:13 ./bin/redis-server *:6379
root     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 6379
redis 127.0.0.1:6379> auth abc123

查看 Redis 是否正在运行

1、采取查看过程形式

ps -aux|grep redis

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

netstat -lanp | grep 6379

后果如下图:

正文完
 0