优质博文:IT-BLOG-CN
一、准备工作
配置
gcc
:安装
Redis
前需要配置
gcc
:
yum install gcc
如果配置
gcc
出现依赖包问题,在安装时提示需要的依赖包版本和本地版本不一致,本地版本过高,出现如下问题:
[root@localhost ~] yum install gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.bfsu.edu.cn
* extras: mirros.aliyun.com
* updates: mirros.aliyun.com
No package gcc available.
Error: Nothing to do
使用
--skip--broken
命令尝试绕过依赖包时,直接把
gcc
安装包也绕过了
卸载依赖包重装版本的方法过于繁琐,可能扯出来一堆版本问题。这种问题原因是之前配置
yum
源时配置的阿里源所以下载的大多数依赖包版本都比较高,在安装很多较低版本软件时都会遇到这个问题。
所以,如果是因为配置
yum
源问题,这里建议直接将
yum
源更换为
Centos
官方源。这里我的
Centos
版本是
7.9
到官方找了镜像地址为:
http://mirror.centos.org/centos-7/7.9.2009/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm
操作步骤:
1、进入
repo
目录
cd /etc/yum.repos.d/
2、备份系统原来的
repo
文件
mv CentOS-Base.repo CentOS-Base.repo.backup
3、用
wget
下载
repo
文件
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
4、替换系统原理的
repo
文件
mv CentOS6-Base-163.repo CentOS-Base.repo
5、清理缓存
yum clean all
6、缓存文件
yum makecache
7、重新更新
yum
源
yum update -y
二、Redis 安装包
Redis
官网链接
获取
redis
资源:或者手动下载后进行上传即可。
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
Redis 6.2.11
官网下载链接
解压
redis
安装包到
/usr/local
路径下:
tar-zxvf redis-5.0.7.tar.gz -C /usr/local
解压成功后将文件夹名修改为
redis
mv redis-5.0.7 redis
三、安装 Redis
编译: 进入到
/usr/local/redis
目录,输入命令
make
执行编译命令,接下来控制台会输出各种编译过程中输出的内容。
cd redis-5.0.7
make
安装: 输入以下命令
makeinstallPREFIX=/usr/local/redis
这里多了一个关键字
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: 进入
redis
安装目录,执行下面命令启动
redis
服务
./bin/redis-server redis.conf
四、配置 Redis服务
【1】如上启动
redis
不能退出控制台,如果退出控制台
redis
服务也会停止。如果想要让
redis
以后台的方式运行,需要修改
redis
的配置文件:
redis.conf
。将该配置文件中的
daemonize no
改为
daemonize yes
即可:
daemonize yes
修改完配置文件后,重新启动一下
redis
服务
./bin/redis-server redis.conf
【2】查看
redis
服务器运行情况:端口号
6379
netstat-tunlp|grep redis
【3】如果需要在其他主机连接
redis
,记得要修改
redis.conf
配置文件,增加一行
bind * -::*
,即配置了允许所有主机连接。
修改完后记得重启
redis
服务使配置文件生效。
【4】进入
redis
客户端模式:
./bin/redis-cli
关闭
redis
客户端模式
shutdown
【5】通过
CONFIG GET *
的方式读取所有配置项。这里列举下比较重要的配置项
配置项名称配置项值范围说明daemonizeyes、no
yes
表示启用守护进程,默认是
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 指定
Redis
最大内存限制,
Redis
在启动时会把数据加载到内存中,达到最大内存后,
Redis
会先尝试清除已到期或即将到期的
Key
,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。
Redis
新的
vm
机制,会把 Key 存放内存,
Value
会存放在
swap
区。配置项值范围列里
XXX
为数值。
【6】将
redis
加入到开机启动
vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)
【7】将
redis-cli
,
redis-server
拷贝到
bin
下,让
redis-cli
指令可以在任意目录下直接使用
cp /usr/local/redis/bin/redis-server /usr/local/bin/
cp /usr/local/redis/bin/redis-cli /usr/local/bin/
【8】设置
redis
密码
a.运行命令:redis-cli
b.查看现有的redis密码(可选操作,可以没有)
运行命令:config get requirepass 如果没有设置过密码的话运行结果会如下图所示
c.设置redis密码
运行命令:config set requirepass ****(****为你要设置的密码),设置成功的话会返回‘OK’字样
d.测试连接
重启redis服务
//(redis-cli -h127.0.0.1 -p6379-a ****(****为你设置的密码))
输入 redis-cli 进入命令模式,使用 auth '*****' (****为你设置的密码)登陆
【9】让外网能够访问
redis
a.配置防火墙: **firewall-cmd --zone=public --add-port=6379/tcp --permanent**(开放**6379**端口)
**systemctl restart firewalld**(重启防火墙以使配置即时生效)
查看系统所有开放的端口:firewall-cmd --zone=public --list-ports
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。
【10】
Linux
系统下设置
redis
的密码:
1、进入
redis
操作的命令行:
redis-cli
2、查看现有的
redis
密码(可选操作,可以没有)
config get requirepass
3、设置
redis
密码
config set requirepass ****(****为你要设置的密码),设置成功的话会返回‘OK’字样
4、重启
redis
服务:
ctrl+C
退出当前的命令行模式后运行命令:
redis-cli -h127.0.0.1 -p6379-a ****(****为你心设置的密码)
版权归原作者 程序猿进阶 所有, 如有侵权,请联系我们删除。