# 阿里云服务器安装 Redis
# 下载 Redis
进入官网找到下载地址 https://redis.io/download
右键 Download 按钮,选择复制链接。 进入到 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 /root/redis-5.0.7 /usr/local/redis |
# 编译
cd 到 /usr/local/redis 目录,输入命令 make 执行编译命令,接下来控制台会输出各种编译过程中输出的内容。
make |
最终运行结果如下:
# 安装
输入以下命令
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.conf 配置文件
cd redis/
vim redis.conf
进行相关修改
- a) 设置 ip 地址
bind 0.0.0.0
- b) 关闭保护模式
protected-mode no
修改前:
修改后:c) 启动守护进程
退出编辑模式,输入/daemonize
进行查找定位,对其它文件的修改同理daemonize yes
d) 设置工作目录
mkdir -p /var/lib/redis
dir /var/lib/redis
e) 设置⽇志⽬录
先创建日志目录,再在配置⽂件中,设置⽇志⽬录mkdir -p /var/log/redis/
# 启动和停止 Redis
通过命令来启动 Redis,并使用 redis 自带的客户端来连接服务器
cd /usr/local/redis/bin | |
redis-server /usr/local/redis/redis-5.0.7/redis.conf | |
netstat -anp | grep redis | |
redis-cli |
注:
ctrl + d
退出 Redis 客户端
停止 Redis 服务器
通过 netstat -anp | grep redis
查询到 redis 服务器的 pid: 10082
,进行 kill 即可;
再次查询会发现什么都没有
# redis.conf 配置文件
在目录 /usr/local/redis 下有一个 redis.conf 的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过 cat、vim、less 等 Linux 内置的读取命令读取该文件。
也可以通过 redis-cli 命令进入 redis 控制台后通过 CONFIG GET * 的方式读取所有配置项。 如下:
redis-cli | |
CONFIG GET * |
回车确认后会将所有配置项读取出来,如下图
# 一些比较重要的配置选项
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
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 命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里 XXX 为数值。 |
这里我要将 daemonize 改为 yes,不然我每次启动都得在 redis-server 命令后面加符号 &,不这样操作则只要回到 Linux 控制台则 redis 服务会自动关闭,同时也将 bind 注释,将 protected-mode 设置为 no。 这样启动后我就可以在外网访问了。
更改方式:
vim /usr/local/redis/redis.conf |
通过 /daemonize 查找到属性,默认是 no,更改为 yes 即可。 (通过 / 关键字查找出现多个结果则使用 n 字符切换到下一个即可,查找到结果后输入:noh 退回到正常模式)
i进入编辑模式 | |
dd 删除当前行 | |
esc退出编辑 | |
:wq 退出并保存 |
# 查看 Redis 是否正在运行
1、采取查看进程方式
ps -aux | grep redis |
结果如下图:
2、采取端口监听查看方式
netstat -lanp | grep 6379 |
# 关闭运行中的 Redis 服务
输入 redis-cli
进入控制台后输入命令 shutdown
即可关闭运行中的 Redis 服务了。