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

相關文章
相關標籤/搜索