日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vagrant系列四:vagrant搭建redis与redis的监控程序redis-stat

發(fā)布時間:2024/9/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vagrant系列四:vagrant搭建redis与redis的监控程序redis-stat 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上一篇php7環(huán)境的搭建 真是火爆。僅僅兩天時間,就破了我之前swagger系列的一片文章,看來,大家對搭建好開發(fā)環(huán)境真是情有獨(dú)鐘。
為了訪問量,我今天再來一篇redis的搭建。

當(dāng)然不能僅僅是redis的搭建。

否則,多不上檔次呀。這種文章一抓一大把。這次還順帶把redis監(jiān)控程序的搭建給弄上了。非常高大上的額。

redis的安裝

哎,寫到這兒,說一句,詛咒聯(lián)通這網(wǎng)絡(luò),聯(lián)通網(wǎng)絡(luò)一上,打開vpn,照樣不能訪問外網(wǎng),聯(lián)baidu都一卡一卡的。

redis就不用yum來進(jìn)行安裝了。直接從官方下載來安裝吧。

(老實說,我也不知道yum里邊有沒有redis的最新版)

下載redis

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

當(dāng)然你也能夠到redis官網(wǎng) 下載最新的版本號。當(dāng)然個人建議,開發(fā)中還是使用穩(wěn)定版本號吧!

解壓redis

$ tar -zxvf redis-3.0.7.tar.gz

這個命令什么意思,我就不多說了,假設(shè)不清楚的同學(xué),建議平時還是多積累點(diǎn)linux的命令知識額。加薪升職的利器額。

編譯安裝redis

$ cd redis-3.0.7 $ make && make install

進(jìn)入到解壓后的文件夾。然后運(yùn)行編譯,然后安裝。

OK,至此,我們的redis安裝還沒有完額。事實上好玩兒的才剛剛開始呢。

配置redis

創(chuàng)建redis 配置文件夾。

$ mkdir /etc/redis

在/var/lib/redis 下創(chuàng)建有效的保存數(shù)據(jù)的文件夾

$ mkdir -p /var/lib/redis/6379

redis.conf 是 redis 的配置文件,然而你會看到我們會把這個文件的名字改為 6379.conf ,而這個數(shù)字就是 redis 監(jiān)聽的網(wǎng)絡(luò)端口。假設(shè)你想要運(yùn)行超過一個的 redis 實例,推薦用這種名字。

復(fù)制演示樣例的 redis.conf 到 /etc/redis/6379.conf。

$ cp redis.conf /etc/redis/6379.conf

改動的內(nèi)容例如以下:

設(shè)置 daemonize 為 no。systemd 須要它運(yùn)行在前臺,否則 redis 會突然掛掉。
daemonize yes

設(shè)置 pidfile 為 /var/run/redis_6379.pid。
pidfile /var/run/redis_6379.pid

假設(shè)不準(zhǔn)備用默認(rèn)端口,能夠改動。


port 6379

設(shè)置日志級別。


loglevel debug

改動日志文件路徑。


logfile /var/log/redis_6379.log

設(shè)置文件夾為 /var/lib/redis/6379
dir /var/lib/redis/6379

redis配置文件。各項的具體解釋

######################### 通用 ########################## 啟動后臺進(jìn)程 daemonize yes# 后臺進(jìn)程的pid文件存儲位置 pidfile /var/run/redis.pid# 默認(rèn)監(jiān)聽端口 port 6379# 在高并發(fā)的環(huán)境中,為避免慢client的連接問題,須要設(shè)置一個快速后臺日志 tcp-backlog 511# 僅僅接受下面綁定的IP請求 # Examples: # bind 192.168.1.100 10.0.0.1 bind 127.0.0.1# 設(shè)置unix監(jiān)聽,默覺得空 # unixsocket /tmp/redis.sock # unixsocketperm 700#client空暇多長時間,關(guān)閉鏈接,0表示不關(guān)閉 timeout 0# TCP keepalive. # 假設(shè)是非零值。當(dāng)失去鏈接時,會使用SO_KEEPALIVE發(fā)送TCP ACKs 到client。

# 這個參數(shù)有兩個作用: # 1.檢測斷點(diǎn)。 # 2.從網(wǎng)絡(luò)中間設(shè)備來看,就是保持鏈接 # 在Linux上,設(shè)定的時間就是發(fā)送ACKs的周期。

# 注意:達(dá)到雙倍的設(shè)定時間才會關(guān)閉鏈接。在其它內(nèi)核上,周期依賴于內(nèi)核設(shè)置。 # 一個比較合理的值為60s tcp-keepalive 0 # 指定日志級別。下面記錄信息依次遞減 # debug用于開發(fā)/測試 # verbose沒debug那么具體 # notice適用于生產(chǎn)線 # warning僅僅記錄非常重要的信息 loglevel notice #日志文件名,假設(shè)為stdout則輸出到標(biāo)準(zhǔn)輸出端,假設(shè)是以后臺進(jìn)程運(yùn)行則不產(chǎn)生日志 logfile "" # 要想啟用系統(tǒng)日志記錄器,設(shè)置一下選項為yes # syslog-enabled no # 指明syslog身份 # syslog-ident redis # 指明syslog設(shè)備。必須是一個用戶或者是local0 ~ local7之中的一個 # syslog-facility local0 #設(shè)置數(shù)據(jù)庫數(shù)目,第一個數(shù)據(jù)庫編號為:0 databases 16 ######################### 快照 ######################### # 在什么條件下保存數(shù)據(jù)庫到磁盤,條件能夠有非常多個,滿足不論什么一個條件都會進(jìn)行快照存儲 # 在900秒之內(nèi)有一次key的變化 save 900 1 # 在300秒之內(nèi),有10個key的變化 save 300 10 # 在60秒之內(nèi)有10000個key變化 save 60 10000 # 當(dāng)持久化失敗的時候,是否繼續(xù)提供服務(wù) stop-writes-on-bgsave-error yes # 當(dāng)寫入磁盤時,是否使用LZF算法壓縮數(shù)據(jù)。默覺得yes rdbcompression yes # 是否加入CRC64校驗到每一個文件末尾--花費(fèi)時間保證安全 rdbchecksum yes # 磁盤上數(shù)據(jù)庫的保存名稱 dbfilename dump.rdb # Redis工作文件夾。以上數(shù)據(jù)庫保存文件和AOF日志都會寫入此文件夾 dir ./ ######################### 主從同步 ######################### # 主從復(fù)制。當(dāng)本機(jī)是slave時配置 # slaveof <masterip> <masterport> # 當(dāng)主機(jī)須要password驗證時候配置 # masterauth <master-password> # 當(dāng)slave和master丟失鏈接,或正處于同步過程中。是否響應(yīng)client請求 # 設(shè)置為yes表示響應(yīng) # 設(shè)置為no。直接返回"SYNC with master in progress"(正在和主server同步中) slave-serve-stale-data yes # 設(shè)置slave是否為僅僅讀。 # 注意:即使slave設(shè)置為僅僅讀,也不能令其暴露在不受信任的網(wǎng)絡(luò)環(huán)境中 slave-read-only yes # 無硬盤復(fù)制功能 repl-diskless-sync no # 等待多個slave一起來請求之間的間隔時間 repl-diskless-sync-delay 5 # 設(shè)置slave給master發(fā)送ping的時間間隔 # repl-ping-slave-period 10 # 設(shè)置傳輸數(shù)據(jù)I/O,主機(jī)數(shù)據(jù)、ping響應(yīng)超時時間,默認(rèn)60s # 這個時間一定要比repl-ping-slave-period大,否則會不斷檢測到超時 # repl-timeout 60 # 是否在SYNC后slave socket上禁用TCP_NODELAY? # 假設(shè)你設(shè)置為yes,Redis會使用少量TCP報文和少量帶寬發(fā)送數(shù)據(jù)給slave。 # 可是這樣會在slave端出現(xiàn)延遲。假設(shè)使用Linux內(nèi)核的默認(rèn)設(shè)置,大概40毫秒。

# 假設(shè)你設(shè)置為no。那么在slave端研究就會降低可是同步帶寬要添加。 # 默認(rèn)我們是為低延遲優(yōu)化的。 # 可是假設(shè)流量特別大或者主從server相距比較遠(yuǎn),設(shè)置為yes比較合理。 repl-disable-tcp-nodelay no # 設(shè)置復(fù)制的后臺日志大小。

# 復(fù)制的后臺日志越大。 slave 斷開連接及后來可能運(yùn)行部分復(fù)制花的時間就越長。 # 后臺日志在至少有一個 slave 連接時,僅僅分配一次。 # repl-backlog-size 1mb # 在 master 不再連接 slave 后,后臺日志將被釋放。下面的配置定義從最后一個 slave 斷開連接后須要釋放的時間(秒)。 # 0 意味著從不釋放后臺日志 # repl-backlog-ttl 3600 # 設(shè)置slave優(yōu)先級。默覺得100 # 當(dāng)主server不能正確工作的時候,數(shù)字低的首先被提升為主server。可是0是禁用選擇 slave-priority 100 # 假設(shè)少于 N 個 slave 連接,且延遲時間 <=M 秒,則 master 可配置停止接受寫操作。 # 比如須要至少 3 個 slave 連接,且延遲 <=10 秒的配置: # min-slaves-to-write 3 # min-slaves-max-lag 10 # 設(shè)置 0 為禁用 # 默認(rèn) min-slaves-to-write 為 0 (禁用), min-slaves-max-lag 為 10 ######################### 安全 ######################### # 設(shè)置client連接password。由于Redis響應(yīng)速度能夠達(dá)到每秒100w次,所以password要特別復(fù)雜 # requirepass 1413 # 命令又一次命名,或者禁用。 # 重命名命令為空字符串能夠禁用一些危急命令比方:FLUSHALL刪除全部數(shù)據(jù) # 須要注意的是,寫入AOF文件或傳送給slave的命令別名或許會引起一些問題 # rename-command CONFIG "" # 設(shè)置client連接password,由于Redis響應(yīng)速度能夠達(dá)到每秒100w次,所以password要特別復(fù)雜 requirepass 1413 # 命令又一次命名,或者禁用。 # 重命名命令為空字符串能夠禁用一些危急命令比方:FLUSHALL刪除全部數(shù)據(jù) # 須要注意的是,寫入AOF文件或傳送給slave的命令別名或許會引起一些問題 # rename-command CONFIG "" ######################### 限制 ######################### # 設(shè)置最多鏈接client數(shù)量。默覺得10000。

# 實際能夠接受的請求數(shù)目為設(shè)置值減去32,這32是Redis為內(nèi)部文件描寫敘述符保留的 # maxclients 10000 # 設(shè)置最多鏈接client數(shù)量,默覺得10000。

# 實際能夠接受的請求數(shù)目為設(shè)置值減去32,這32是Redis為內(nèi)部文件描寫敘述符保留的 # maxclients 10000 # 設(shè)置最大使用內(nèi)存數(shù)量,在把Redis當(dāng)作LRU緩存時特別實用。 # 設(shè)置的值要比系統(tǒng)能使用的值要小 # 由于當(dāng)啟用刪除算法時。slave輸出緩存也要占用內(nèi)存 # maxmemory <bytes> #達(dá)到最大內(nèi)存限制時。使用何種刪除算法 # volatile-lru 使用LRU算法移除帶有過期標(biāo)致的key # allkeys-lru -> 使用LRU算法移除不論什么key # volatile-random -> 隨機(jī)移除一個帶有過期標(biāo)致的key # allkeys-random -> 隨機(jī)移除一個key # volatile-ttl -> 移除近期要過期的key # noeviction -> 不刪除key,當(dāng)有寫請求時,返回錯誤 #默認(rèn)設(shè)置為volatile-lru # maxmemory-policy noeviction # LRU和最小TTL算法沒有精確的實現(xiàn) # 為了節(jié)省內(nèi)存僅僅在一個樣本范圍內(nèi)選擇一個近期最少使用的key,能夠設(shè)置這個樣本大小 # maxmemory-samples 5 ######################### AO模式 ######################### # AOF和RDB持久化能夠同一時候啟用 # Redis啟動時候會讀取AOF文件,AOF文件有更好的持久化保證 appendonly no # AOF的保存名稱,默覺得appendonly.aof appendfilename "appendonly.aof" # 設(shè)置何時寫入追加日志。又三種模式 # no:表示由操作系統(tǒng)決定何時寫入。性能最好,但可靠性最低 # everysec:表示每秒運(yùn)行一次寫入。折中方案。推薦 # always:表示每次都寫入磁盤。性能最差。比上面的安全一些 # appendfsync always appendfsync everysec # appendfsync no # 當(dāng)AOF同步策略設(shè)定為alway或everysec # 當(dāng)后臺存儲進(jìn)程(后臺存儲或者AOF日志后臺寫入)會產(chǎn)生非常多磁盤開銷 # 某些Linux配置會使Redis由于fsync()調(diào)用產(chǎn)生堵塞非常久 # 如今還沒有修復(fù)補(bǔ)丁。甚至使用不同線程進(jìn)行fsync都會堵塞我們的同步write(2)調(diào)用。

# 為了緩解這個問題,使用下面選項在一個BGSAVE或BGREWRITEAOF運(yùn)行的時候 # 能夠阻止fsync()在主程序中被調(diào)用, no-appendfsync-on-rewrite no # AOF自己主動重寫(合并命令,降低日志大小) # 當(dāng)AOF日志大小添加到一個特定比率,Redis調(diào)用BGREWRITEAOF自己主動重寫日志文件 # 原理:Redis 會記錄上次重寫后AOF文件的文件大小。

# 假設(shè)剛啟動,則記錄啟動時AOF大小 # 這個基本大小會用來和當(dāng)前大小比較。假設(shè)當(dāng)前大小比特定比率大。就會觸發(fā)重寫。 # 你也須要指定一個AOF須要被重寫的最小值,這樣會避免達(dá)到了比率。 # 可是AOF文件還非常小的情況下重寫AOF文件。 # 設(shè)置為0禁用自己主動重寫 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb #redis在啟動時能夠載入被截斷的AOF文件。而不須要先運(yùn)行 redis-check-aof 工具 aof-load-truncated yes ######################### LUA腳本 ######################### # Lua腳本的最大運(yùn)行時間,單位毫秒 # 超時后會報錯,而且計入日志 # 當(dāng)一個腳本運(yùn)行時間超過了最大運(yùn)行時間 # 僅僅有SCRIPT KILL和 SHUTDOWN NOSAVE兩個命令能夠使用。 # SCRIPT KILL用于停止沒有調(diào)用寫命令的腳本。

# SHUTDOWN NOSAVE是唯一的一個,在腳本的寫命令正在運(yùn)行 # 用戶又不想等待腳本的正常結(jié)束的情況下,關(guān)閉server的方法。 # 下面選項設(shè)置為0或負(fù)數(shù)就會取消腳本運(yùn)行時間限制 lua-time-limit 5000 ####################### redis集群 ######################## # 是否啟用集群 # cluster-enabled yes # 集群配置文件 # 集群配置變更后會自己主動寫入改文件 # cluster-config-file nodes-6379.conf # 節(jié)點(diǎn)互連超時的閥值 # 節(jié)點(diǎn)超時時間。超過該時間無法連接主要Master節(jié)點(diǎn)后,會停止接受查詢服務(wù) # cluster-node-timeout 15000 # 控制從節(jié)點(diǎn)FailOver相關(guān)的設(shè)置,設(shè)為0,從節(jié)點(diǎn)會一直嘗試啟動FailOver. # 設(shè)為正數(shù),失聯(lián)大于一定時間(factor*節(jié)點(diǎn)TimeOut),不再進(jìn)行FailOver # cluster-slave-validity-factor 10 # 最小從節(jié)點(diǎn)連接數(shù) # cluster-migration-barrier 1 # 默覺得Yes,丟失一定比例Key后(可能Node無法連接或者掛掉)。集群停止接受寫操作 # 設(shè)置為No,集群丟失Key的情況下仍提供查詢服務(wù) # cluster-require-full-coverage yes ######################### 慢查詢 ######################### # Redis慢查詢?nèi)罩居涗洺^設(shè)定時間的查詢,且僅僅記錄運(yùn)行命令的時間 # 不記錄I/O操作。比方:和client交互,發(fā)送回復(fù)等。 # 時間單位為微妙,1000000微妙 = 1 秒 # 設(shè)置為負(fù)數(shù)會禁用慢查詢?nèi)罩?#xff0c;設(shè)置為0會記錄全部查詢命令 slowlog-log-slower-than 10000 # 日志長度沒有限制,可是會消耗內(nèi)存。超過日志長度后,最舊的記錄會被移除 # 使用SLOWLOG RESET命令能夠回收內(nèi)存 slowlog-max-len 128 ######################### 延遲監(jiān)測 ######################### # 系統(tǒng)僅僅記錄超過設(shè)定值的操作。單位是毫秒,0表示禁用該功能 # 能夠通過命令“CONFIG SET latency-monitor-threshold <milliseconds>” 直接設(shè)置而不須要重新啟動redis latency-monitor-threshold 0 ######################### 事件通知 ######################### # 當(dāng)事件發(fā)生時, Redis 能夠通知 Pub/Sub client。

# 能夠在下表中選擇 Redis 要通知的事件類型。事件類型由單個字符來標(biāo)識: # K Keyspace 事件,以 _keyspace@<db>_ 的前綴方式公布 # E Keyevent 事件,以 _keysevent@<db>_ 的前綴方式公布 # g 通用事件(不指定類型)。像 DEL, EXPIRE, RENAME, … # $ String 命令 # s Set 命令 # h Hash 命令 # z 有序集合命令 # x 過期事件(每次 key 過期時生成) # e 清除事件(當(dāng) key 在內(nèi)存被清除時生成) # A g$lshzxe 的別稱。因此 ”AKE” 意味著全部的事件 # notify-keyspace-events 帶一個由 0 到多個字符組成的字符串參數(shù)。空字符串意思是通知被禁用。

# 樣例:啟用 list 和通用事件: # notify-keyspace-events Elg # 默認(rèn)所用的通知被禁用。由于用戶通常不須要改特性,而且該特性會有性能損耗。

# 注意假設(shè)你不指定至少 K 或 E 之中的一個。不會發(fā)送不論什么事件。

notify-keyspace-events "" #notify-keyspace-events AKE ######################### 高級設(shè)置 ######################### # 當(dāng)有少量條目的時候,哈希使用高效內(nèi)存數(shù)據(jù)結(jié)構(gòu)。最大的條目也不能超過設(shè)定的閾值。# “少量”定義例如以下: hash-max-ziplist-entries 512 hash-max-ziplist-value 64 # 和哈希編碼一樣,少量列表也以特殊方式編碼節(jié)省內(nèi)存。

“少量”設(shè)定例如以下:

list-max-ziplist-entries 512 list-max-ziplist-value 64 # 集合僅僅在下面情況下使用特殊編碼來節(jié)省內(nèi)存 # -->集合全部由64位帶符號10進(jìn)制整數(shù)構(gòu)成的字符串組成 # 下面的選項設(shè)置這個特殊集合的大小。 set-max-intset-entries 512 # 當(dāng)有序集合的長度和元素設(shè)定為下面數(shù)字時,又特殊編碼節(jié)省內(nèi)存 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 # HyperLogLog 稀疏表示字節(jié)限制 # 這個限制包括了16個字節(jié)的頭部,當(dāng)一個HyperLogLog使用sparse representation # 超過了這個顯示,它就會轉(zhuǎn)換到dense representation上 hll-sparse-max-bytes 3000 # 哈希刷新使用每100個CPU毫秒中的1毫秒來幫助刷新主哈希表(頂級鍵值映射表)。 # Redis哈希表使用延遲刷新機(jī)制,越多操作,越多刷新。 # 假設(shè)server空暇。刷新操作就不會進(jìn)行,很多其它內(nèi)存會被哈希表占用 # 默認(rèn)每秒進(jìn)行10次主字典刷新,釋放內(nèi)存。 # 假設(shè)你有硬性延遲需求,偶爾2毫秒的延遲無法忍受的話。

設(shè)置為no

# 否則設(shè)置為yes activerehashing yes # client輸出緩存限制強(qiáng)迫斷開讀取速度比較慢的client # 有三種類型的限制 # normal -> 正常 # slave -> slave和 MONITOR # pubsub -> client至少訂閱了一個頻道或者模式 # client輸出緩存限制語法例如以下(時間單位:秒) # client-output-buffer-limit <類別> <強(qiáng)制限制> <軟性限制> <軟性時間> # 達(dá)到強(qiáng)制限制緩存大小,立馬斷開鏈接。 # 達(dá)到軟性限制,仍然會有軟性時間大小的鏈接時間 # 默認(rèn)正常client無限制,僅僅有請求后。異步client數(shù)據(jù)請求速度快于它能讀取數(shù)據(jù)的速度 # 訂閱模式和主從client又默認(rèn)限制,由于它們都接受推送。 # 強(qiáng)制限制和軟性限制都能夠設(shè)置為0來禁用這個特性 client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 # 設(shè)置Redis后臺任務(wù)運(yùn)行頻率,比方清除過期鍵任務(wù)。 # 設(shè)置范圍為1到500,默覺得10.越大CPU消耗越大。延遲越小。 # 建議不要超過100 hz 10 # 當(dāng)子進(jìn)程重寫AOF文件。下面選項開啟時。AOF文件會每產(chǎn)生32M數(shù)據(jù)同步一次。 # 這有助于更快寫入文件到磁盤避免延遲 aof-rewrite-incremental-fsync yes

 redis開機(jī)自啟動

復(fù)制redis的自啟動腳本到init.d中

$ cp utils/redis_init_script /etc/init.d/redis_6379

這里說明一下哈。鏡像還是前面用的CentOs7。所以有的命令略微跟6不一樣。建立一個redis的服務(wù)

$ vim /etc/systemd/system/redis_6379.service

然后輸入下面的內(nèi)容

[Unit] Description=Redis on port 6379 [Service] Type=forking ExecStart=/etc/init.d/redis_6379 start ExecStop=/etc/init.d/redis_6379 stop [Install] WantedBy=multi-user.target

注意上面文件的文件夾。就是剛剛復(fù)制的文件夾,假設(shè)有多個redis,這里須要注意。

系統(tǒng)參數(shù)的調(diào)整

為了讓redis正常運(yùn)行,須要對某些系統(tǒng)參數(shù)進(jìn)行調(diào)整。

# 避免數(shù)據(jù)被截斷 $ sysctl -w vm.overcommit_memory=1# 改動 backlog 連接數(shù)的最大值超過 redis.conf 中的 tcp-backlog 值,即默認(rèn)值511 $ sysctl -w net.core.somaxconn=512# 取消對透明巨頁內(nèi)存(transparent huge pages)的支持,由于這會造成 redis 使用過程產(chǎn)生延時和內(nèi)存訪問問題。 $ echo never > /sys/kernel/mm/transparent_hugepage/enabled

然后將以上配置,寫入相關(guān)文件:

$ vim /etc/sysctl.conf

輸入內(nèi)容例如以下:

vm.overcommit_memory = 1 net.core.somaxconn=512

對于透明巨頁內(nèi)存支持。并沒有直接 sysctl 命令能夠控制,所以須要將下面的命令放到 /etc/rc.local 的結(jié)尾。

echo never > /sys/kernel/mm/transparent_hugepage/enabled

通過以上配置,能夠來啟動redis服務(wù)了。

$ systemctl start redis_6379 # 設(shè)置為開機(jī)啟動 $ systemctl enable redis_6379 # 通過下面命令。查看redis的狀態(tài) $ systemctl status redis_6379

然后使用client來進(jìn)行測試一下redis服務(wù)是否正常。參見截圖:

redis的監(jiān)控redis-stat的安裝

由于redis-stat是使用ruby開發(fā)的。在安裝前。請確保你的環(huán)境已經(jīng)有了ruby的環(huán)境。假設(shè)沒有,請自行g(shù)oogle、百度安裝之,我就不寫了哦。
由于ruby默認(rèn)使用的鏡像在國外,剩下的不說了。大家都懂得。然后萬能的淘寶鏡像。切換一下:

$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/

證據(jù)例如以下:

然后開始安裝:

$ gem install redis-stat

然后。一般來說,你會發(fā)現(xiàn)報錯啦,報錯例如以下:

Building native extensions. This could take a while... ERROR: Error installing redis-stat:ERROR: Failed to build gem native extension./usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/share/include/ruby.hGem files will remain installed in /usr/local/share/gems/gems/json-1.8.3 for inspection. Results logged to /usr/local/share/gems/gems/json-1.8.3/ext/json/ext/generator/gem_make.out

哈哈,。我好機(jī)智,想到大家非常多人會搜索這個錯誤信息。會不會因此被帶到這里呢?就像試試認(rèn)真寫的博客,會有多少人看。
這個錯呢,非常easy,就是由于沒有安裝ruby-devel,全部通過yum給安裝上吧

$ yum -y install ruby-devel

這個就不要截圖了吧。

沒什么好看的。

安裝完畢后。再次運(yùn)行 gem install redis-stat

然后,至此安裝完畢,看一看勞動成果吧。隨便說一句,它對redis的效率影響,基本能夠忽略不計,因此。能夠放心的使用。

$ redis-stat

然后。他會自帶一個web的版本號。大家能夠通過瀏覽器來訪問,具體方式留給大家自己去查一查,搜一搜吧。

單機(jī)版的redis服務(wù)安裝與監(jiān)控。就全部搞定。so easy。!

總結(jié)

以上是生活随笔為你收集整理的vagrant系列四:vagrant搭建redis与redis的监控程序redis-stat的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。