分享好友 最新动态首页 最新动态分类 切换频道
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/

最新文章
深度剖析软文推广策略:如何利用媒体宣传塑造独特品牌形象?
于品牌而言,做宣传推广最根本的目的就是为了提高知名度和增强品牌形象,然随着现在社交平台和内容分享平台日趋丰富,不少品牌的宣传策略逐渐在成为一种“大众”模式,在“固本”的道路上“一磕到底”,但在如今的消费环境下,没有独属于自
速度解决:WhatsApp无法登录华为、小米安卓手机?请按照这个步骤修复-WhatsApp接收验证码失败,怎么办?-csdn博客
2017年06月18日吴小瑾推特账号购买 Facebook脸书账号购买 INS账号购买 tg账号购买 油管账号批发 苹果id账号购买 领英帐户购买 谷歌账号批发 脸书批发 脸书账号批发 脸书账号购买 推特账号购买 推特账号批发 tg账号批发 tg账号购买 tg账号批
wordpress建站详细教程详解
WordPress建站教程:零基础新手小白如何快速搭建B2B外贸网站本文将为您详细解析如何使用WordPress从零开始搭建一个专业的B2B外贸网站。文章涵盖域名选购、主机服务器选择、WordPress安装、网站SEO优化等关键步骤,帮助您低成本、高效地创建
风云游戏
何奥,男,十八岁,未婚,性格良好,老实巴交,不善言辞,是个好人。人生目标:搞钱。咔——一支掉落的圆珠笔落在了何奥的座位旁,打断了何奥的思绪,他看了一眼那圆珠笔,一手按住桌面,一手向下探去,身子俯了下去。刹那间,周围喧嚣的环
进口食品境外生产厂商注册GACC注册代办【助力顺利通关】
2015年02月10日钱小玮1000上海代理报关,上海报关公司,上海港进口报关公司从事货物及技术进出口业务,预包装食品(含熟食卤味、冷冻冷藏)的批发非实物方式,酒类、化工原料及产品(除危险化学品、监控化学品、烟花爆竹、民用爆炸物品、易制
跟着撒贝宁走进超级工厂维信诺 探寻“非凡中国屏”诞生背后的科技传奇之旅
万物互联的时代浪潮中,以OLED为代表的新型显示技术,已成为人机交互、智能联结的重要端口。维信诺作为中国OLED赛道的先行者和引领者,凭借自主创新,实现了我国OLED技术的自立自强,成为中国新型显示产业向“兴”发展的关键力量。早在28年
站长故事:用百度Site App建立起自己的移动端全过程
  前段时间,笔者手中管理的一个使用wordpress搭建的博客由于发展需要,急需搭建属于自己的移动站点,但是限于技术能力,自身无法做开发,百度了一下,找到百度开放云Site App,一番折腾之后,终于使用百度Site App搭建了移动客户端,下
网易BUFF安卓手机版2.99.0.0
*用户体验优化如发现版本老旧,欢迎邮件反馈toususpam#liqucn(dot)com,或移步网易BUFF官网下载最新版网易旗下Steam饰品交易网易BUFF,一般又称网易buff交易平台,网易BUFF游戏饰品交易平台。 网易BUFF旨在为广大游戏玩家提供一个安全易用的
通用的SEO关键词优化方案
今天告诉大家哪些SEO优化方案适合任何一个站点,这并不是外链与内容,让你提高自己网站关键词排名。标题描述及内容的需求昨天我做了一个非常大的举动,那就是更改了我网站的标题,之所以我更改标题,是因为我想我的网站未来能够发展的更改
淘宝小白前期需要怎么做?运营流程是什么?
拼多多平台早期也能给新店开业一些政策优惠。例如定向推广,抢占市场的制度,对新手卖家的支持特别大。你只要在初期做一个基本评估,就能轻松超过别的白店,随后贴近初级水准。以下是实际的操作方式。5.由淘宝直通车干涉(可提升净重)辅助曝
相关文章
推荐文章
发表评论
0评