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

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

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

我的分类: 项目环境linux

CentOS下Redis的安装git

前言

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

安装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就是成功了redis

3.yum安装gcc依赖

$ yum install gcc

遇到选择,输入y便可shell

4.编译&安装

 
  1. $ cd redis-5.0.0 vim

  2.  
  3. $ makewindows

将/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.一、在/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.三、将redis的启动脚本复制一份放到/etc/init.d目录下

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

6.四、设置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可视化工具:

教程:http://www.javashuo.com/article/p-ypwduovp-kz.html

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

 

附:一些配置中的linux命令

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

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

格式:

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

例子:

grep “www.dutycode.com” test.txt

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

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

 

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

二、用vim编辑文件查找

使用 vim查找则在normal模式下

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

格式

/字符串

例子

/test\c

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

 

 

2、linux vi /vim显示行号

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

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

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

 

3、linux grep命令

1.命令格式:

grep [option] pattern file

2.命令功能:

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

 

vim操做:http://www.javashuo.com/article/p-hgyoujjh-bu.html

参考文档:http://www.javashuo.com/article/p-okgnvtqy-cs.html

http://www.javashuo.com/article/p-ywdpjhll-go.html

相关文章
相关标签/搜索