Linux下安裝和部署Redis

Redis是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)快毛,和Memcached類(lèi)似漠另, 它的數(shù)據(jù)都是緩存在內(nèi)存中捏雌,區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫(xiě)入磁盤(pán)或者把修改操作寫(xiě)入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步笆搓。

我們最近需要使用多臺(tái)機(jī)器性湿,分布式爬取數(shù)據(jù),采用的框架是scrapy-redis满败,所以需要在一臺(tái)服務(wù)器上安裝Redis肤频。

而今天上午,在阿里云服務(wù)器上安裝部署Redis時(shí)算墨,遇到一些問(wèn)題宵荒,沒(méi)有在網(wǎng)上找到解決辦法,記錄一下米同。

安裝

安裝這個(gè)步驟很簡(jiǎn)單骇扇,主要參考Linux下Redis的安裝和部署,下面說(shuō)下步驟面粮。

1少孝、到官網(wǎng)下載壓縮包,然后解壓

#直接復(fù)制下載鏈接熬苍,通過(guò)wget下載
$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
#解壓
$ tar zxvf redis-4.0.1.tar.gz

2稍走、進(jìn)入Redis目錄,對(duì)解壓后的文件進(jìn)行編譯

# 進(jìn)入目錄
$ cd redis-4.0.1/
# 編譯
$ make

3柴底、進(jìn)入src目錄婿脸,執(zhí)行make install安裝Redis

$ cd src
# 安裝
$ make install

然后,在終端輸入redis-server看到如下界面柄驻,說(shuō)明安裝成功狐树。

部署

1、修改配置文件

回退到redis-4.0.1/目錄鸿脓,修改redis.conf文件

$ cd ..
# 查看當(dāng)前目錄
$ pwd
/root/redis-4.0.1
$ vim redis.conf

我這里的需求是希望外部機(jī)器能訪問(wèn)抑钟,所以注釋掉bind 127.0.0.1

但是不能隨便一臺(tái)電腦都能連接,所以通過(guò)requirepass設(shè)置一個(gè)密碼野哭,最好設(shè)置長(zhǎng)一點(diǎn)

這樣在塔,基本的就設(shè)置好了

2、debug模式拨黔,調(diào)試連接

(1)首先蛔溃,我們用debug模式啟動(dòng)服務(wù)器,這樣能更好的查看狀態(tài)和分析問(wèn)題

redis-server redis.conf  --loglevel debug

(2)然后,我們另開(kāi)一個(gè)終端贺待,使用ssh登錄到服務(wù)器徽曲,在服務(wù)器上使用客戶(hù)端連接Redis

$ redis-cli

這里,我們也可以在Redis服務(wù)器的終端麸塞,看到有一個(gè)連接到我們服務(wù)器疟位。

(3)之后,我們?cè)趓edis客戶(hù)端進(jìn)行簡(jiǎn)單操作喘垂,使用keys *查看Redis數(shù)據(jù)庫(kù)存了key值。

127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

出現(xiàn)了錯(cuò)誤绍撞,這是因?yàn)槲覀僐edis服務(wù)器設(shè)置了需要密碼正勒。這里,我們可以輸入auth 1234567來(lái)進(jìn)行獲得權(quán)限傻铣,也可以在登錄Redis服務(wù)器時(shí)章贞,給定密碼,例如:redis-cli -a 1234567

127.0.0.1:6379> auth 1234567
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set name liuchungui
OK
127.0.0.1:6379> get name
"liuchungui"

從上可以看出來(lái)非洲,我們將name的liuchungui字段成功的存入Redis鸭限,并且取出來(lái)展示。

(4)其后两踏,我們?cè)囈幌掳芫诒镜仉娔X上連接Redis有沒(méi)有問(wèn)題

$ redis-cli -h 192.168.0.299 -a 1234567

注意: 將所有的192.168.0.299換成你自己的服務(wù)器ip

然后發(fā)現(xiàn),連接不上梦染,出現(xiàn)Operation timed out

192:~ liuchungui$ redis-cli -p 6379 -h 192.168.0.299 -a 1234567
Could not connect to Redis at 192.168.0.299:6379: Operation timed out
Could not connect to Redis at 192.168.0.299: Operation timed out
not connected> keys *

這時(shí)赡麦,我通過(guò)telnet 192.168.0.299 6397測(cè)試服務(wù)器的6379端口,居然不通帕识。經(jīng)過(guò)各種google之后泛粹,最后找到了解決之法:原來(lái)這是因?yàn)榘⒗镌茮](méi)有開(kāi)放6379端口,只需要到阿里云那里設(shè)置一下安全組就行了肮疗。

阿里云安全組具體添加方法晶姊,請(qǐng)參考添加安全組規(guī)則

當(dāng)這里設(shè)置好了之后,我在本地就能連接服務(wù)器的Redis了伪货。

(5)最后们衙,調(diào)試沒(méi)有問(wèn)題,我們將Redis設(shè)置為后臺(tái)運(yùn)行超歌。

編輯redis.conf砍艾,然后將daemonize屬性改為yes

運(yùn)行服務(wù)器

$ redis-server redis.conf
6997:C 10 Sep 15:10:17.034 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6997:C 10 Sep 15:10:17.034 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=6997, just started
6997:C 10 Sep 15:10:17.034 # Configuration loaded

到此,我們部署完成巍举。

三脆荷、問(wèn)題與總結(jié)

在這里我碰到最主要的一個(gè)大問(wèn)題是本地電腦無(wú)法連接服務(wù)器上的Redis,然后嘗試了各種失敗的方法

  • 剛開(kāi)始以為是redis.conf這個(gè)配置文件沒(méi)配置好蜓谋,所以嘗試在bind后面添加本地的ip梦皮,后來(lái)發(fā)現(xiàn)不行。后來(lái)才知道桃焕,bind后面添加ip剑肯,指定是Redis所在服務(wù)器網(wǎng)卡的ip,不是指定某些IP可以訪問(wèn)本機(jī)Redis實(shí)例观堂,這是一個(gè)誤區(qū)让网。這可以參考Redis bind 限制和指定IP訪問(wèn)What does the bind parameter do in Redis?
  • 各種搜索通過(guò)防火墻來(lái)開(kāi)啟端口,即通過(guò)iptables來(lái)實(shí)現(xiàn)师痕,后來(lái)發(fā)現(xiàn)還是不行溃睹。這在自己建立的服務(wù)器應(yīng)該有作用,可以限制固定的ip來(lái)訪問(wèn)胰坟。而阿里云因篇,是在阿里云網(wǎng)站進(jìn)行配置。
  • 當(dāng)出現(xiàn)MISCONF Redis is configured to save RDB snapshots錯(cuò)誤時(shí)笔横,可以使用redis-cli登錄竞滓,然后輸入config set stop-writes-on-bgsave-error no設(shè)置來(lái)解決,參考:MISCONF Redis is configured to save RDB snapshots

補(bǔ)充

  • 2017.9.30:最好在redis.conf中吹缔,設(shè)置下logfile商佑,這樣在redis出錯(cuò)誤時(shí),能看到相關(guān)錯(cuò)誤信息厢塘。

參考

Linux下Redis的安裝和部署

redis進(jìn)階:密碼設(shè)置莉御、訪問(wèn)權(quán)限控制等安全設(shè)置

阿里云開(kāi)放端口權(quán)限

Redis bind 限制和指定IP訪問(wèn)

What does the bind parameter do in Redis?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市俗冻,隨后出現(xiàn)的幾起案子礁叔,更是在濱河造成了極大的恐慌,老刑警劉巖迄薄,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琅关,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡讥蔽,警方通過(guò)查閱死者的電腦和手機(jī)涣易,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)冶伞,“玉大人新症,你說(shuō)我怎么就攤上這事∠烨荩” “怎么了徒爹?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵荚醒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我隆嗅,道長(zhǎng)界阁,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任胖喳,我火速辦了婚禮泡躯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丽焊。我一直安慰自己较剃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布技健。 她就那樣靜靜地躺著重付,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凫乖。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天弓颈,我揣著相機(jī)與錄音帽芽,去河邊找鬼。 笑死翔冀,一個(gè)胖子當(dāng)著我的面吹牛导街,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纤子,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼搬瑰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了控硼?” 一聲冷哼從身側(cè)響起泽论,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卡乾,沒(méi)想到半個(gè)月后翼悴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幔妨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年鹦赎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片误堡。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡古话,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锁施,到底是詐尸還是另有隱情陪踩,我是刑警寧澤杖们,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站膊毁,受9級(jí)特大地震影響胀莹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜婚温,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一描焰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧栅螟,春花似錦荆秦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至吃媒,卻和暖如春瓤介,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赘那。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工刑桑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人募舟。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓祠斧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親拱礁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子琢锋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)呢灶,斷路器吴超,智...
    卡卡羅2017閱讀 134,601評(píng)論 18 139
  • 前言 Redis是一個(gè)高性能的key-value數(shù)據(jù)庫(kù),現(xiàn)時(shí)越來(lái)越多企業(yè)與應(yīng)用使用Redis作為緩存服務(wù)器鸯乃。樓主是...
    liangzzz閱讀 4,251評(píng)論 9 152
  • NOSQL類(lèi)型簡(jiǎn)介鍵值對(duì):會(huì)使用到一個(gè)哈希表烛芬,表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù),如redis飒责,volde...
    MicoCube閱讀 3,958評(píng)論 2 27
  • 馬到成功01524程雨煙 毛遂名成因自薦赘娄,志在青云上九天。翔宇折桂探蟾宮宏蛉,飛龍得水覆乾坤遣臼。 怕被一人傷 2015-...
    馬到成功程雨煙閱讀 3,233評(píng)論 153 109
  • 鏈接:click here~~ Problem Description 很多學(xué)校流行一種比較的習(xí)慣。老師們很喜歡詢(xún)...
    db5bacb5a79c閱讀 319評(píng)論 0 1