分享好友 最新动态首页 最新动态分类 切换频道
Linux安装部署Redis
2024-12-26 20:41

1. 前言

 

2. 下载Redis

两种方法

  • 通过官网下载后传到linux机器上(机器无法访问外网时)
  • linux上通过wget直接下载

redis官网地址:http://www.redis.io/
所有历史版本下载地址:http://download.redis.io/releases/
redis中文文档地址:http://www.redis.cn/documentation.html

 
 

3. 解压并安装Redis

注意:如果是新机器,需要先安装gcc

安装gcc
验证gcc是否安装成功

  • 解压

下载完成后需要将压缩文件解压,输入以下命令解压到当前目录

 
 
 

cd 到/usr/local目录下输入ls命令可以查询到当前目录已经多了一个redis子目录,同时/root目录下已经没有redis-5.0.7文件夹

  • 编译

cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。

 
 
  • 安装

输入以下命令

 

这里多了一个关键字 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

 
 
 

两种方式区别无非是有无带符号&的区别。 redis-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。

  • 查看redis 进程
 
  • 使用redis-cli 链接redis服务器
    注意:默认链接的是localhost 运行在 6379 端口的 redis 服务

  • 使用 redis-cli 的 -h (服务器地址) -p (端口)进行连接

 

4. 修改redis.conf的参数配置

 

再次启动

 

这里列举下比较重要的配置项

配置项名称配置项值范围说明daemonizeyes、noyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行port 指定 Redis 监听端口,默认端口为 6379bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。protected-modeyes 、no保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。timeout300当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能logleveldebug、verbose、notice、warning日志级别,默认为 noticedatabases16设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。dbfilenamedump.rdb指定本地数据库文件名,默认值为 dump.rdbdir 指定本地数据库存放目录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。
这样启动后我就可以在外网访问了。

5. 使用redis启动脚本设置开机自启动

 

脚本中指定了端口、server路径、cli路径、pidfile路径以及conf路径
上述EXEC、CLIEXEC、PIDFILE、CONF都需要正确配置,根据自己的安装目录。
多说一句,如果在安装时执行了make install,那么这里的脚本不需要做多大改动,因为make install把server和cli都拷到/usr/local/bin下面了。

接着将redis_init_script脚本拷贝到/etc/init.d/redisd;看清楚目录,是在 etc/init.d目录下,为什么?因为 linux开机会 执行这个目录中的文件

 

在/etc/init.d下的脚本都是可以在系统启动是自动启动的服务,而现在还缺一个系统启动时的配置

 

然后就会发现报了一个错误:服务 redisd 不支持 chkconfig

参考这篇文章, 这是因为我们需要在redis_init_script的开头加一个小改动

 

至于这里2345 90 10分别代表什么意思,请参考上面的文章链接。
保存完重新拷贝到/etc/init.d/redisd后,再运行chkconfig就完成了。

一切就绪之后,可以执行以下命令检验service是否设置成功

 

最后重启一下系统吧,进入系统之后直接运行redis-cli检验redis服务是否已经自动运行了。

6. 其他redis.conf配置

 

7. 其他问题

7.1 centeros的redis-cli命令不生效解决方法

如果你已经安装了redis服务器,并且已经启动,但是redis-cli命令无法生效,分析,命令未加入环境变量。那就给redis命令加入环境变量中:
注意点:redis安装目录会有不同,注意下面的PATH的变量设置,由于我的redis是自己编译的,安装在/usr/local/redis目录下,如不同,请修改。务必注意!更改后敲入对应命令行

 
7.2 Could not connect to Redis at 127.0.0.1:6379: Connection refused
 
7.3 DENIED Redis is running in protected mode报错解决办法

如下所示,程序连接redis报错,根据错误信息,redis运行在受保护模式,需要redis命令行下作设置:config set protected-mode no。

redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because
protected mode is enabled, no bind address was specified, no authentication password is requested to
clients. In this mode connections are only accepted from the loopback interface. If you want to
connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable
protected mode sending the command ‘CONFIG SET protected-mode no’ from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to ‘no’, and then restarting the server. 3) If you started the server manually just for testing, restart it with the ‘–protected-mode no’ option. 4) Setup a bind address or an authentication password.NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

7.4 Linux重启后Redis数据丢失解决方案

https://www.cnblogs.com/fanshuyao/p/7222011.html

7.5 /var/run/redis_6379.pid exists, process is already running or crashed

安装启动service redis start时报错 /var/run/redis_6379.pid exists, process is already running or crashed
解决办法

 

之后再重新启动即可

8. 相关文章

(1) redis集群搭建

redis集群搭建

(2) 华为云两台机器内网互联

华为云两台机器内网互联

(3) /etc/rc.d/init.d 详解|程序开机自启

/etc/rc.d/init.d 详解|程序开机自启

(4) Redis5.0+ Redis集群水平扩容|节点删除

Redis5.0+ Redis集群水平扩容|节点删除

(5) 三台机器搭建redis集群过程及问题记录

三台机器搭建redis集群过程及问题记录

(6) redis5.0集群搭建(两台服务器)

redis5.0集群搭建(两台服务器)

(7) Linux安装部署Redis

Linux安装部署Redis

(8) 【redis】 windows环境下安装、配置、使用、卸载

【redis】 windows环境下安装、配置、使用、卸载

(9) CentOS chkconfig的安装及使用

CentOS chkconfig的安装及使用

(10) 解决Linux局域网不能相互访问

解决Linux局域网不能相互访问

(11) redis集群中节点fail,noaddr

redis集群中节点fail,noaddr

参考文献
https://www.cnblogs.com/hunanzp/p/12304622.html

https://www.cnblogs.com/zhxilin/p/5892678.html

https://www.cnblogs.com/xyinjie/p/9444280.html

https://blog.csdn.net/xiaofei_hah0000/article/details/52214592

redis:Could not connect to Redis at 127.0.0.1:6379: Connection refused错误解析
https://blog.csdn.net/qaz18201142158/article/details/107260181/

最新文章
上海刚刚发生一起坠楼事件,深层数据分析执行_5DM45.622
近日,上海某高层住宅区发生了一起令人震惊的坠楼事件。据初步报道,一名男子从高楼坠落,不幸身亡。事件发生后,当地警方迅速介入调查,以确定事件的具体原因。这起悲剧不仅震动了社区,也引起了公众对于高层建筑安全问题的关注。上海作为
nba历史最佳小前锋排名?
1:拉里.伯德身高: 2.06米 / 6尺9寸 体重: 100公斤 / 220磅 选秀: 1978年第1轮第6位职业生涯897场常规赛,21791分 8974篮板 5695助攻 1556抢断 755盖帽场均:24.3分 10.0篮板 6.3助攻 1.73抢断 0.84盖帽 49.6%命中率季后赛164场,3897分 16
九大国产AI模型助力,共筑6亿国民的人工智能梦想
2024年 10 月 13 日,工业和信息化部总工程师,赵立国发表讲话:“我国人工智能核心产业的规模在不断提升,企业数量超过了 4500 家,完成注册并提供服务的生成式人工智能服务大模型数量已经超过200个,
最全OkHttp源码解析(小白必看,建议收藏),聪明人已经收藏了
最后 由于篇幅原因,就不多做展示了 本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取 4、响应码 1** 信
高德地图商家标注,免费操作指南
本文将详细介绍高德地图商家如何免费标注自己的店铺位置,包括准备步骤、具体操作流程以及常见问题解答。通过本文的指导,您将能够轻松将自己的店铺添加到高德地图中,提高店铺的曝光率,吸引更多潜在客户。一、标题:高德地图商家标注,轻
高清美女写真生成:你也能用AI技术轻松打造自己的绝美写真!
在这个数字化迅猛发展的时代,人工智能(AI)正在悄然改变人们的生活方式。尤其是在艺术领域,AI绘画工具愈发显示出强大的潜力,比如最近在网络上热议的美女写真生成器。这些工具不仅能为我们带来极致的视觉享受,还能轻松地为我们的生活增
淘宝天猫SEO从入门到精通
    《天猫SEO从门到精通》手把手地教有需要的朋友掌握天猫SEO的本领,更是为了帮助大家释放天猫SEO的惊人作用,帮助大家将店铺造为“有排名、有流量、有口碑”的明星店铺,真正实现畅销加长销,帮助大家在天猫平台上纵横驰骋、步步攀升
关于Content-Type的配置
分片上传步骤较多,包括初始化、文件切片、各个分片上传、完成上传。为了简化分片上传,可以使用AWS.S3.ManagedUpload接口进行分片上传。Content-Type用于标识文件的资源类型,比如,是图片类型,, 是视频类型,, 是文本类型, 浏览器针
迪丽热巴 AI 人脸替换造梦——让你的想象成真
在当今的数字时代,人工智能技术的发展让我们的想象不再受限于现实。迪丽热巴是一位备受欢迎的女演员,她拥有着独特的魅力和美丽的面容。现在,通过 AI 人脸替换技术,我们可以将迪丽热巴的脸替换到任何我们想要的场景中,创造出属于我们自
相关文章
推荐文章
发表评论
0评