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
后果如下图: