Linux安装摆设Redis(超等详细)

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

前言

网上搜刮了一筐如何在Linux下安装摆设Redis的文章,各种文章混搭在一起勉强安装成功了。本身也记录下,方便后续安装时候有个鉴戒之处。


  • Redis版本 5.0.4
  • 服务器版本 Linux CentOS 7.6 64位
下载Redis

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



右键Download按钮,选择复制链接。
进入到Xshell控制台(默认当前是root根目次),输入wget 将上面复制的下载链接粘贴上,如下命令:
1
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
敲入回车键执行后如下图:


等候下载完成。
解压并安装Redis

 解压
下载完成后需要将压缩文件解压,输入以下命令解压到当前目次
1
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。
1
mv /root/redis-5.0.7 /usr/local/redis
cd 到/usr/local目次下输入ls命令可以查询到当前目次已经多了一个redis子目次,同时/root目次下已经没有redis-5.0.7文件夹




编译
cd到/usr/local/redis目次,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。
1
make
最终运行结果如下:
 



 安装
输入以下命令
1
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

根据上面的操作已经将redis安装完成了。在目次/usr/local/redis 输入下面命令启动redis
1
./bin/redis-server& ./redis.conf




 上面的启动方式是接纳配景历程方式,下面是接纳表现启动方式(如在配置文件设置了daemonize属性为yes则跟配景历程方式启动其实一样)。
1
./bin/redis-server ./redis.conf
两种方式区别无非是有无带符号&的区别。 redis-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。
redis.conf配置文件

在目次/usr/local/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。
也可以通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。 如下:
1
2
redis-cli
CONFIG GET *


回车确认后会将所有配置项读取出来,如下图


这里列举下比力重要的配置项
配置项名称配置项值范围说明
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为数值。
这里我要将daemonize改为yes,否则我每次启动都得在redis-server命令后面加符号&,不如许操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。
如许启动后我就可以在外网访问了。
更改方式: 
1
vim /usr/local/redis/redis.conf
通过 /daemonize  查找到属性,默认是no,更改为yes即可。 (通过/关键字查找出现多个结果则使用 n字符切换到下一个即可,查找到结果后输入:noh退回到正常模式)
如下图:




 其他两个属性也是同样方式查找和编辑即可。
 检察Redis是否正在运行

1、接纳检察历程方式
1
ps -aux | grep redis
结果如下图:




2、接纳端口监听检察方式
1
netstat -lanp | grep 6379
结果如下图:




redis-cli

redis-cli是毗连当地redis服务的一个命令,通过该命令后可以既然怒redis的脚本控制台。如下图


输入exit可以退出redis脚本控制台
关闭运行中的Redis服务

输入redis-cli 进入控制台后输入命令shutdown即可关闭运行中的Redis服务了。如下图:


长途毗连不上问题

如下图,已经开放了Redis服务的ip不为127.0.0.1,理论上长途客户端应该可以毗连了,而且云服务器的端标语也在安全组里开放了。




后面发现是启动命令的问题,由于我比力偷懒,启动redis我都是直接输入命令
redis-server 或 redis-server& 这两种方式都是直接读取默认的配置文件启动,无非前者是表现启动后者是作为配景应用启动。我其实也很烦闷,由于我修改的就是默认的配置文件啊,我并没有重新生成新的配置文件,但是确实我输入命令 redis-server /usr/local/redis/etc/redis.conf 就是能成功,而且我输入命令redis-server& /usr/local/redis/etc/redis.conf也是长途登录失败。
关于直接输入redis-server不可的问题我还猜疑是不是Linux缓存问题,我重启服务器实验下。结果还是一样的。。。哎先不纠结了 后续再去找原因吧



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表