Redis在CentOS 7上的安裝部署

簡介css

Redis是一種高級key-value數據庫。它跟memcached相似,不過數據能夠持久化,並且支持的數據類型很豐富。有字符串,鏈表,集 合和有序集合。支持在服務器端計算集合的並,交和補集(difference)等,還支持多種排序功能。因此Redis也能夠被當作是一個數據結構服務器。linux

Redis的全部數據都是保存在內存中(效率高),而後不按期的經過異步方式保存到磁盤上(這稱爲「半持久化模式」);也能夠把每一次數據變化都寫入到一個append only file(aof)裏面(這稱爲「全持久化模式」)。redis

在這裏我僅僅給出Redis在CentOS 7上的安裝部署。數據庫

步驟一:下載Redis安裝包apache

首先從官網下在redis正式版的壓縮包redis-2.8.19.tar.gz:vim

cd /home/downloads
wget http://download.redis.io/releases/redis-2.8.19.tar.gz

步驟二:編譯源程序緩存

解壓和編譯ruby

tar -zxvf redis-2.8.19.tar.gz cd redis-2.8.19/src //編譯 make

…….此處是大量編譯過程,省略。可能有一些警告,不去官它們…………. 
CC setproctitle.o 
CC hyperloglog.o 
CC latency.o 
CC sparkline.o 
LINK redis-server 
INSTALL redis-sentinel 
CC redis-cli.o 
LINK redis-cli 
CC redis-benchmark.o 
LINK redis-benchmark 
CC redis-check-dump.o 
LINK redis-check-dump 
CC redis-check-aof.o 
LINK redis-check-aofbash

Hint: It’s a good idea to run ‘make test’ ;)服務器

進入src進行安裝:

cd src make install

//安裝過程提示 
Hint: It’s a good idea to run ‘make test’ ;)

INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install

這時候,咱們能夠看看src下的文件:

這裏寫圖片描述

能夠看到此時,src文件夾下出現了一些綠色的文件,這些文件就是咱們之後須要用到的命令文件

步驟三:移動文件

移動文件,便於管理:(全部源代碼安裝的軟件都安裝在/usr/local下,如apache等)

建立兩個文件夾,bin用於存放命令,etc擁有存放配置文件。

mkdir -p /usr/local/redis/etc mkdir -p /usr/local/redis/etc

-p是遞歸建立。

接下來,將redis-2.8.19文件夾下的redis.conf複製到/usr/local/redis/etc/

並將src目錄下的7個命令文件(綠色的),移動到/usr/local/redis/bin/

[linuxidc@localhost src]$ cd .. [linuxidc@localhost redis-2.8.19]$ ls 00-RELEASENOTES COPYING Makefile redis.conf sentinel.conf utils BUGS deps MANIFESTO runtest src CONTRIBUTING INSTALL README runtest-sentinel tests [linuxidc@localhost redis-2.8.19]$ mv ./redis.conf /usr/local/redis/etc/ [linuxidc@localhost redis-2.8.19]$ cd src [linuxidc@localhost src]$ mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/

步驟四:啓動Redis服務:

首先進入剛纔安裝redis的目錄:

[linuxidc@localhost src]$ cd /usr/local/redis/bin [linuxidc@localhost bin]$ ls mkreleasehdr.sh redis-check-aof redis-cli redis-server redis-benchmark redis-check-dump redis-sentinel

以後咱們啓動redis服務。啓動redis服務須要用到命令redis-server

[linuxidc@localhost bin]$ ./redis-server

結果:

這裏寫圖片描述

可是,這樣作的話,咱們並無使用etc的下的配置文件進行啓動(圖中紅線部分)。

若是但願經過指定的配置文件啓動,須要在啓動時指定配置文件:

這裏咱們先用ctrl+C來終止服務,而後查看redis服務是否終止乾淨了,以後經過設置配置文件來啓動服務:

按下ctrl+c後(^C):

^C[32138 | signal handler] (1463921540) Received SIGINT scheduling shutdown... [32138] 22 May 20:52:20.380 # User requested shutdown... [32138] 22 May 20:52:20.380 * Saving the final RDB snapshot before exiting. [32138] 22 May 20:52:20.393 * DB saved on disk [32138] 22 May 20:52:20.393 # Redis is now ready to exit, bye bye...

運行:pstree -p | grep redis 發現redis服務已經被終止乾淨

如今咱們帶上配置文件 /usr/local/etc/redis.conf 運行redis

[linuxidc@localhost bin]$ ./redis-server /usr/local/redis/etc/redis.conf

這裏寫圖片描述

可是,如今redis仍然是在前臺運行。

若是要後臺啓動該怎麼辦呢?

在這裏咱們用—-直接將命令丟到後臺中「執行」的 & ?能夠嗎?

答案是不能夠的,Redis的後臺啓動並運行須要經過配置文件中的參數設置。若是須要在後臺運行,把daemonize配置項改成yes

vim /usr/local/redis/etc/redis.conf

搜索 :’\daemonize’ 
把daemonize配置項改成yes 
保存退出

以後咱們再次使用配置文件啓動redis-server。

能夠看到,redis是後臺啓動了,而且經過ps命令能夠查看到redis正在運行。

[linuxidc@localhost bin]\$ ./redis-server /usr/local/redis/etc/redis.conf [linuxidc@localhost bin]\$ ps -ef | grep redis root 13154 1 0 22:53 ? 00:00:00 ./redis-server *:6379 neil 13162 8143 0 22:54 pts/0 00:00:00 grep --color=auto redis [linuxidc@localhost bin]$ pstree -p | grep redis |-redis-server(13154)-+-{redis-server}(13156) | `-{redis-server}(13157)

Redis服務端默認鏈接端口是6379.

就比如 MySQL 或 mariadb 服務端默認鏈接端口是3306

在平時,咱們每每須要查看6379端口是否被佔用。能夠用如下命令:

netstat -tunpl | grep 6379

注意,redis服務須要 root 權限才能查看,否則���能檢查到6379被某個進程佔用,可是看不到進程名稱。

至此,redis服務已經按照配置文件啓動成功!!

步驟五:客戶端登陸

[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli 

回車後若是提示:

[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli 127.0.0.1:6379>//提示

則代表客戶端登陸成功

步驟六:關閉Redis服務

中止Redis實例

咱們可使用pkill redis-server

[linuxidc@localhost bin]$ pkill redis-server [linuxidc@localhost bin]$ netstat -tunpl | grep 6379 [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ pstree -p | grep redis [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> not connected> exit

關閉以後,發現6379就再也不被佔用了,redis的進程也都沒有了。

客戶登錄也沒法成功了。

也可使用/usr/local/redis/bin/redis-cli shutdown,這種方法使用客戶端命令redis-cli 進行Redis服務的中止

[linuxidc@localhost bin]]$ ./redis-server /usr/local/redis/etc/redis.conf [linuxidc@localhost bin]$ pstree -p | grep redis |-redis-server(13509)-+-{redis-server}(13511) | `-{redis-server}(13512) [linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli shutdown [linuxidc@localhost bin]$ pstree -p | grep redis [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ sudo netstat -tunpl | grep 6379 [linuxidc@localhost bin]$ 

固然關閉某個服務還可使用 killall 和 kill -9.

附錄:更多的關於 /usr/local/redis/etc/redis.conf 的配置信息

一、daemonize 若是須要在後臺運行,把該項改成yes

二、pidfile 配置多個pid的地址 默認在/var/run/redis.pid

三、bind 綁定ip,設置後只接受來自該ip的請求

四、port 監聽端口,默認是6379

五、loglevel 分爲4個等級:debug verbose notice warning

六、logfile 用於配置log文件地址

七、databases 設置數據庫個數,默認使用的數據庫爲0

八、save 設置redis進行數據庫鏡像的頻率。

九、rdbcompression 在進行鏡像備份時,是否進行壓縮

十、dbfilename 鏡像備份文件的文件名

十一、Dir 數據庫鏡像備份的文件放置路徑

十二、Slaveof 設置數據庫爲其餘數據庫的從數據庫

1三、Masterauth 主數據庫鏈接須要的密碼驗證

1四、Requriepass 設置 登錄時須要使用密碼

1五、Maxclients 限制同時使用的客戶數量

1六、Maxmemory 設置redis可以使用的最大內存

1七、Appendonly 開啓append only模式

1八、Appendfsync 設置對appendonly.aof文件同步的頻率(對數據進行備份的第二種方式)

1九、vm-enabled 是否開啓虛擬內存支持 (vm開頭的參數都是配置虛擬內存的)

20、vm-swap-file 設置虛擬內存的交換文件路徑

2一、vm-max-memory 設置redis使用的最大物理內存大小

2二、vm-page-size 設置虛擬內存的頁大小

2三、vm-pages 設置交換文件的總的page數量

2四、vm-max-threads 設置VM IO同時使用的線程數量

2五、Glueoutputbuf 把小的輸出緩存存放在一塊兒

2六、hash-max-zipmap-entries 設置hash的臨界值

2七、Activerehashing 從新hash

下面關於Redis的文章您也可能喜歡,不妨參考下:

Ubuntu 14.04下Redis安裝及簡單測試 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis主從複製基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm

CentOS 7下Redis的安裝與配置 http://www.linuxidc.com/Linux/2017-02/140363.htm

Ubuntu 14.04安裝Redis與簡單配置 http://www.linuxidc.com/Linux/2017-01/139075.htm

Ubuntu 16.04環境中安裝PHP7.0 Redis擴展 http://www.linuxidc.com/Linux/2016-09/135631.htm

Redis 單機&集羣離線安裝部署 http://www.linuxidc.com/Linux/2017-03/141403.htm

CentOS 7.0 安裝Redis 3.2.1詳細過程和使用常見問題 http://www.linuxidc.com/Linux/2016-09/135071.htm

Ubuntu 16.04環境中安裝PHP7.0 Redis擴展 http://www.linuxidc.com/Linux/2016-09/135631.htm

Ubuntu 15.10下Redis集羣部署文檔 http://www.linuxidc.com/Linux/2016-06/132340.htm

Redis實戰 中文PDF http://www.linuxidc.com/Linux/2016-04/129932.htm

Redis熱遷移實戰總結  http://www.linuxidc.com/Linux/2017-02/141083.htm

Redis3.0配置文件詳解  http://www.linuxidc.com/Linux/2017-03/141369.htm

本文永久更新連接地址http://www.linuxidc.com/Linux/2017-05/143312.htm

轉載:https://www.linuxidc.com/Linux/2017-05/143312.htm

相關文章
相關標籤/搜索