主頁(yè) > 知識(shí)庫(kù) > 詳解在Redis在Centos7上的安裝部署

詳解在Redis在Centos7上的安裝部署

熱門(mén)標(biāo)簽:地方門(mén)戶網(wǎng)站 鐵路電話系統(tǒng) 服務(wù)外包 百度競(jìng)價(jià)排名 Linux服務(wù)器 呼叫中心市場(chǎng)需求 網(wǎng)站排名優(yōu)化 AI電銷(xiāo)

Redis是一種高級(jí)key-value數(shù)據(jù)庫(kù)。它跟memcached類(lèi)似,不過(guò)數(shù)據(jù)可以持久化,而且支持的數(shù)據(jù)類(lèi)型很豐富。有字符串,鏈表,集 合和有序集合。支持在服務(wù)器端計(jì)算集合的并,交和補(bǔ)集(difference)等,還支持多種排序功能。所以Redis也可以被看成是一個(gè)數(shù)據(jù)結(jié)構(gòu)服務(wù)器。

Redis的所有數(shù)據(jù)都是保存在內(nèi)存中(效率高),然后不定期的通過(guò)異步方式保存到磁盤(pán)上(這稱為“半持久化模式”);也可以把每一次數(shù)據(jù)變化都寫(xiě)入到一個(gè)append only file(aof)里面(這稱為“全持久化模式”)。

關(guān)于Redis更多的簡(jiǎn)介請(qǐng)參考Redis官方網(wǎng)站中文版,在這里我僅僅給出Redis在Centos7上的安裝部署。

步驟一:下載Redis安裝包

首先從官網(wǎng)下在redis正式版的壓縮包redis-2.8.19.tar.gz:

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

步驟二:編譯源程序

解壓和編譯

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

…….此處是大量編譯過(guò)程,省略??赡苡幸恍┚妫蝗ス偎鼈儭?

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-aof

Hint: It's a good idea to run ‘make test' ;)

進(jìn)入src進(jìn)行安裝:

cd src
make install

//安裝過(guò)程提示

Hint: It's a good idea to run ‘make test' ;)

INSTALL install

INSTALL install

INSTALL install

INSTALL install

INSTALL install

這時(shí)候,我們可以看看src下的文件:

可以看到此時(shí),src文件夾下出現(xiàn)了一些綠色的文件,這些文件就是我們以后需要用到的命令文件

步驟三:移動(dòng)文件

移動(dòng)文件,便于管理:(所有源代碼安裝的軟件都安裝在/usr/local下,如apache等)

創(chuàng)建兩個(gè)文件夾,bin用于存放命令,etc擁有存放配置文件。

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

-p是遞歸創(chuàng)建。

接下來(lái),將redis-2.8.19文件夾下的redis.conf復(fù)制到/usr/local/redis/etc/

并將src目錄下的7個(gè)命令文件(綠色的),移動(dòng)到/usr/local/redis/bin/

[lsgozi@localhost src]$ cd ..
[lsgozi@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
[lsgozi@localhost redis-2.8.19]$ mv ./redis.conf /usr/local/redis/etc/
[lsgozi@localhost redis-2.8.19]$ cd src
[lsgozi@localhost src]$ mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/

步驟四:?jiǎn)?dòng)Redis服務(wù):

首先進(jìn)入剛才安裝redis的目錄:

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

之后我們啟動(dòng)redis服務(wù)。啟動(dòng)redis服務(wù)需要用到命令redis-server

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

結(jié)果:

但是,這樣做的話,我們并沒(méi)有使用etc的下的配置文件進(jìn)行啟動(dòng)(圖中紅線部分)。

如果希望通過(guò)指定的配置文件啟動(dòng),需要在啟動(dòng)時(shí)指定配置文件:

這里我們先用ctrl+C來(lái)終止服務(wù),然后查看redis服務(wù)是否終止干凈了,之后通過(guò)設(shè)置配置文件來(lái)啟動(dòng)服務(wù):

按下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...

運(yùn)行:pstree -p | grep redis 發(fā)現(xiàn)redis服務(wù)已經(jīng)被終止干凈

現(xiàn)在我們帶上配置文件 /usr/local/etc/redis.conf 運(yùn)行redis

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

但是,現(xiàn)在redis仍然是在前臺(tái)運(yùn)行。

如果要后臺(tái)啟動(dòng)該怎么辦呢?

在這里我們用—-直接將命令丟到后臺(tái)中“執(zhí)行”的 ?可以嗎?

答案是不可以的,Redis的后臺(tái)啟動(dòng)并運(yùn)行需要通過(guò)配置文件中的參數(shù)設(shè)置。如果需要在后臺(tái)運(yùn)行,把daemonize配置項(xiàng)改為yes

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

搜索 :'\daemonize'

把daemonize配置項(xiàng)改為yes

保存退出

之后我們?cè)俅问褂门渲梦募?dòng)redis-server。

可以看到,redis是后臺(tái)啟動(dòng)了,并且通過(guò)ps命令可以查看到redis正在運(yùn)行。

[lsgozi@localhost bin]\$ ./redis-server /usr/local/redis/etc/redis.conf
[lsgozi@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
[lsgozi@localhost bin]$ pstree -p | grep redis
      |-redis-server(13154)-+-{redis-server}(13156)
      |           `-{redis-server}(13157)

Redis服務(wù)端默認(rèn)連接端口是6379.

就好比 mysql 或 mariadb 服務(wù)端默認(rèn)連接端口是3306

在平時(shí),我們往往需要查看6379端口是否被占用??梢杂靡韵旅睿?/p>

netstat -tunpl | grep 6379

注意,redis服務(wù)需要 root 權(quán)限才能查看,不然只能檢查到6379被某個(gè)進(jìn)程占用,但是看不到進(jìn)程名稱。

至此,redis服務(wù)已經(jīng)按照配置文件啟動(dòng)成功?。?/p>

步驟五:客戶端登錄

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

回車(chē)后如果提示:

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

則表明客戶端登錄成功

步驟六:關(guān)閉Redis服務(wù)

停止Redis實(shí)例

我們可以使用pkill redis-server

[lsgozi@localhost bin]$ pkill redis-server
[lsgozi@localhost bin]$ netstat -tunpl | grep 6379
[lsgozi@localhost bin]$ 
[lsgozi@localhost bin]$ pstree -p | grep redis
[lsgozi@localhost bin]$ 
[lsgozi@localhost bin]$ 
[lsgozi@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

關(guān)閉之后,發(fā)現(xiàn)6379就不再被占用了,redis的進(jìn)程也都沒(méi)有了。

客戶登陸也無(wú)法成功了。

也可以使用/usr/local/redis/bin/redis-cli shutdown,這種方法使用客戶端命令redis-cli 進(jìn)行Redis服務(wù)的停止

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

當(dāng)然關(guān)閉某個(gè)服務(wù)還可以使用 killall 和 kill -9.

附錄:更多的關(guān)于 /usr/local/redis/etc/redis.conf 的配置信息

1、daemonize 如果需要在后臺(tái)運(yùn)行,把該項(xiàng)改為yes

2、pidfile 配置多個(gè)pid的地址 默認(rèn)在/var/run/redis.pid

3、bind 綁定ip,設(shè)置后只接受來(lái)自該ip的請(qǐng)求

4、port 監(jiān)聽(tīng)端口,默認(rèn)是6379

5、loglevel 分為4個(gè)等級(jí):debug verbose notice warning

6、logfile 用于配置log文件地址

7、databases 設(shè)置數(shù)據(jù)庫(kù)個(gè)數(shù),默認(rèn)使用的數(shù)據(jù)庫(kù)為0

8、save 設(shè)置redis進(jìn)行數(shù)據(jù)庫(kù)鏡像的頻率。

9、rdbcompression 在進(jìn)行鏡像備份時(shí),是否進(jìn)行壓縮

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

11、Dir 數(shù)據(jù)庫(kù)鏡像備份的文件放置路徑

12、Slaveof 設(shè)置數(shù)據(jù)庫(kù)為其他數(shù)據(jù)庫(kù)的從數(shù)據(jù)庫(kù)

13、Masterauth 主數(shù)據(jù)庫(kù)連接需要的密碼驗(yàn)證

14、Requriepass 設(shè)置 登陸時(shí)需要使用密碼

15、Maxclients 限制同時(shí)使用的客戶數(shù)量

16、Maxmemory 設(shè)置redis能夠使用的最大內(nèi)存

17、Appendonly 開(kāi)啟append only模式

18、Appendfsync 設(shè)置對(duì)appendonly.aof文件同步的頻率(對(duì)數(shù)據(jù)進(jìn)行備份的第二種方式)

19、vm-enabled 是否開(kāi)啟虛擬內(nèi)存支持 (vm開(kāi)頭的參數(shù)都是配置虛擬內(nèi)存的)

20、vm-swap-file 設(shè)置虛擬內(nèi)存的交換文件路徑

21、vm-max-memory 設(shè)置redis使用的最大物理內(nèi)存大小

22、vm-page-size 設(shè)置虛擬內(nèi)存的頁(yè)大小

23、vm-pages 設(shè)置交換文件的總的page數(shù)量

24、vm-max-threads 設(shè)置VM IO同時(shí)使用的線程數(shù)量

25、Glueoutputbuf 把小的輸出緩存存放在一起

26、hash-max-zipmap-entries 設(shè)置hash的臨界值

27、Activerehashing 重新hash

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Centos7下Redis3.2.8最新版本安裝教程
  • CentOS6.5下Redis安裝與配置詳細(xì)步驟
  • CentOS 7下安裝 redis 3.0.6并配置集群的過(guò)程詳解
  • CentOS系統(tǒng)安裝Redis及Redis的PHP擴(kuò)展詳解
  • Redis3.2.11在centos9安裝與卸載過(guò)程詳解

標(biāo)簽:湘潭 黃山 崇左 湖南 仙桃 衡水 銅川 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解在Redis在Centos7上的安裝部署》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266