文档章节

CentOS7.5中安装redis5.0(实践踩坑版)

l
 linjin200
发布于 2018/12/05 17:33
字数 1776
阅读 234
收藏 3

CentOS7.5中安装redis5.0(实践踩坑版)

2018年10月22日 17:01:43 ZerahMu 阅读数:805 标签: centOSlinuxredisgrepvim 更多

个人分类: 项目环境

CentOS下Redis的安装

前言

安装Redis需要知道自己需要哪个版本,有针对性的安装,比如如果需要redis GEO这个地理集合的特性,那么redis版本就不能低于3.2版本,由于这个特性是3.2版本才有的。另外需要注意的是,Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.8版、3.0版),奇数版本是非稳定版(如2.7版、2.9版),生产环境下一般需要使用稳定版本。

安装Redis官方是这么描述的:Download, extract and compile Redis with:

即:下载,解压,并且编译,是不是听起来很简单,嗯 我也觉得

1.下载安装包

$ wget http://download.redis.io/releases/redis-5.0.0.tar.gz

2.解压压缩包

$ tar xzf redis-5.0.0.tar.gz

没有报error就是成功了

3.yum安装gcc依赖

$ yum install gcc

遇到选择,输入y即可

4.编译&安装

 
  1. $ cd redis-5.0.0

  2.  
  3. $ make

将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录

$ cd src && make install

 

编译的二进制文件位于src目录中。运行Redis:

$ src/redis-server

5.测试是否安装成功 

先切换到redis src目录下

$ cd src/

5.1 直接启动redis

$ ./redis-server

 

如上图:redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。

按 ctrl + c可以关闭窗口。

5.2 以后台进程方式启动redis

 

第一步:修改redis.conf文件

redis.conf文件就在redis目录下

daemonize no修改为daemonize yes

配置允许所有ip都可以访问redis,将bind 127.0.0.1注释掉:

并且将protected-mode   改为no

配置访问密码:

第二步:指定redis.conf文件启动

$ ./redis-server /usr/local/redis-4.0.6/redis.conf

第三步:关闭redis进程

首先使用ps -aux | grep redis查看redis进程

$ ps -aux | grep redis

使用kill命令杀死进程,并检查是否成功关闭

$  kill -9 5545

第四步:检查是否开启了所有Ip访问:

$ ps -ef |grep redis

如果端口号前面显示的是*则说明客户端可以访问了,如果是127.0.0.1,继续配吧骚年,另外第6步配置了服务形式开启自启动,拷贝了一个6379.conf配置文件,记得做同样的修改配置,至于不改会出现什么样的坑,这个坑还是留给你踩吧,我就省事儿起见了 - _ -

6.设置redis开机自启动

 

6.1、在/etc目录下新建redis目录

 
  1. $ cd /etc

  2.  
  3. $ mkdir redis

6.2.将/root/redis-5.0.0/redis.conf文件复制一份到/etc/redis目录下,并命名为6379.conf  

$ cp /root/redis-5.0.0/redis.conf /etc/redis/6379.conf

6.3、将redis的启动脚本复制一份放到/etc/init.d目录下

$ cp /root/redis-5.0.0/utils/redis_init_script /etc/init.d/redisd

6.4、设置redis开机自启动

先切换到/etc/init.d目录下,然后执行自启命令

$ chkconfig redisd on

如果redisd不支持chkconfig

使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出

 
  1. # chkconfig:   2345 90 10

  2.  
  3. # description:  Redis is a persistent key-value database

注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

再次执行开机自启命令,成功

$ chkconfig redisd on

 

7.现在可以直接以服务的形式启动和关闭redis了

启动:

$ service redisd start  

关闭:

$ service redisd stop

 

备注: 如果出现如下问题:

[root@iZwz991stxdwj560bfmadtZ ~]# service redisd start

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

可参考资料:http://blog.csdn.net/luozhonghua2014/article/details/54649295

 

重启redis报错:Waiting for Redis to shutdown

2016-12-14 15:22 by abce, 2633 阅读, 0 评论, 收藏编辑

重启redis,发现一直报:Waiting for Redis to shutdown 

1

2

3

4

5

6

7

8

9

10

11

service redis_6379 restart

Stopping ...

OK

(error) NOAUTH Authentication required.

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...

Waiting for Redis to shutdown ...  

  

 

因为配置了密码验证,而在restart的时候并没有配置密码。 

解决方法:
1.修改redis服务脚本,加入如下所示的信息即可:

1

2

vi /etc/init.d/redisd

$CLIEXEC -a "password" -p $REDISPORT shutdown

  $CLIEXEC -a "myleguan2018" 2>/dev/nul -p $REDISPORT shutdown
 

 

edis-cli命令,如redis-cli -h 127.0.0.1 -a 'password'

这里会有一个问题,当在shell中输入以上命令时,控制台总会输出一串“Warning: Using a password with '-a' option on the command line interface may not be safe.”

而这串提醒,会影响我们脚本的数据取值。

这串告警,并不是普通的输出,通过head、tail、awk、sed等命令并不能过滤掉这行输出,如图:

问题原因:这串输出并不是普通输出,shell的标准输出包含两种,1(标准输出)2(标准错误)我们的命令,即包含1也包含2,2即是我们想要去除的提示。

解决办法将标准错误去除即可,如图,加了2>/dev/null,将标准错误丢弃即可

 

windows 中redis可视化工具:

教程:https://blog.csdn.net/leisure_life/article/details/78460632

源码:https://github.com/uglide/RedisDesktopManager

 

附:一些配置中的linux命令

一、linux下在一个文件里面查找一个字符串【这个在面试中有遇到】

1、在终端使用grep命令查找

格式:

grep “要查找的字符串” 文件名

例子:

grep “www.dutycode.com” test.txt

文件名可以使用基本正则表达式(BRE),例如, 查找test目录下的所有文件,包含www.dutycode.com字符串的文件以及该字符串在第几行。

grep  -n“www.dutycode.com” /root/zzh/test/*

 

使用-n 参数,可以显示字符串在文件中的行数

2、用vim编辑文件查找

使用 vim查找则在normal模式下

在normal模式下按下  /  即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。

格式

/字符串

例子

/test\c

Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim\$匹配"vim$",在查找模式中加入\c表示大小写不敏感查找.例如,在文件中查找set:

 

 

二、linux vi /vim显示行号

命令模式:set nu 或者:set number

取消显示行号:set nonu 或者 :set nonumber

永久显示行号:https://jingyan.baidu.com/article/22a299b5ca65a49e19376acc.html

 

三、linux grep命令

1.命令格式:

grep [option] pattern file

2.命令功能:

用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。

 

vim操作:https://www.cnblogs.com/chenlogin/p/6245958.html

参考文档:https://www.cnblogs.com/renzhicai/p/7773080.html

https://www.cnblogs.com/zuidongfeng/p/8032505.html

© 著作权归作者所有

l

linjin200

粉丝 26
博文 999
码字总数 1168188
作品 0
福州
程序员
私信 提问
(十四)Redis数据库-在Centos7下配置Redis5.0主从复制模式

版权声明:转载请注明原文地址 https://blog.csdn.net/Super_RD/article/details/89740246 (十四)Redis数据库-在Centos7下配置Redis5.0主从复制模式 我的系统版本为CentOS7.5,redis版本5...

Super_RD
05/01
0
0
(二)Redis快速入门-Redis5.0配置文件详解

(二)Redis快速入门-Redis5.0配置文件详解 我的系统版本为CentOS7.5,redis-5.0.4 配置文件在:redis-5.0.4/redis.conf,启动时可以指定配置文件。安装的5.0.0版本,这个配置文件的实例有一...

Super_RD
04/24
0
0
(一)redis快速入门-在centos7中安装redis5.0

(一)redis快速入门-在centos7中安装redis5.0 我的系统版本为CentOS7.5 redis官网:https://redis.io/ 上面的连接是下载最新版,下面的连接是查看历史版本。我这里直接复制最新版连接安装。...

Super_RD
04/24
0
0
安装-redis-5.0.3cluster 集群

注意:安装redis-5.0.3cluster 集群,跟之前的版本差不多,就是简单了很多。 Redis5.0集群管理工具redis-trib-rb已经被废弃,所以不用安装redis-trib工具,下面安装redis5.0以上用,而redis...

轻量级赤影
03/01
370
0
centos 7( linux )下搭建elasticsearch踩坑记

目录 概述 环境准备 elasticsearch配置 启动踩坑记 彩蛋 概述 公司最近在做全文检索的项目,发现elasticsearch踩了不少坑,百度点进去又是坑,在此记录一下自己的踩坑历程。 本文旨在单机版的e...

java_龙
2018/10/17
464
4

没有更多内容

加载失败,请刷新页面

加载更多

全面兼容IE6/IE7/IE8/FF的CSS HACK写法

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie...

前端老手
18分钟前
3
0
常用快递电子面单批量打印api接口对接demo-JAVA示例

目前有三种方式对接电子面单: 1.快递公司:各家快递公司逐一对接接口 2.菜鸟:支持常用15家快递电子面单打印 3.快递鸟:仅对接一次,支持常用30多家主流快递电子面单打印 目前也是支持批量打...

程序的小猿
21分钟前
6
0
Yii 框架中rule规则必须搭配验证函数才能使用

public $store_id;public $user_id;public $page;public $limit;public $list;public $mch_list;public $cart_id;public $is_community;public $shop_id;public $cart_typ......

chenhongjiang
24分钟前
4
0
Flutter使用Rammus实现阿里云推送

前言: 最近新的Flutter项目有“阿里云推送通知”的需求,就是Flutter的App启动后检测到有新的通知,点击通知栏然后跳转到指定的页面。在这里我使用的是第三方插件Rammus来实现通知的推送,之...

EmilyWu
24分钟前
42
0
Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的: 短网址又称网址缩短、缩短网址、URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短...

阿里巴巴云原生
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部