Redis 安裝避坑指南

leozzy發表於2018-08-04

大家都說 redis 安裝是相當簡單的,但是我發現還是有不少坑需要避免。作為寫作小白,為了避免習慣性看到別人寫的好的地方就直接抄過來,所以我選擇按自己的理解一個字一個字敲出來,有錯誤還請指出。

環境:Linux 作業系統(CentOS)

安裝方式:原始碼方式安裝

資料夾的選擇

對於我這種 Linux 小白,面對 Linux 複雜的檔案系統,每次安裝軟體還得糾結到底應該安裝在哪個目錄,所以我覺得首先搞清楚放在哪個資料夾下比較合適。至於這麼多資料夾具體有什麼特殊含義,參考《鳥哥的 Linux 私房菜》,下面只描述我用到的目錄的含義。

/usr (UNIX Software Resource) 該目錄作業系統軟體資源存放的地方

/usr/bin 絕大部分使用者可使用命令放在這

/usr/local 系統管理員在本機安裝自己下載的軟體,建議安裝到此目錄,這樣會比較便於管理

/usr/local/src 可將軟體原始碼包放在 src 目錄,也就是下載的 redis 安裝包 (比如redis-4.0.11.tar.gz)

詳細步驟

  1. $ cd /usr/local/src --進入原始碼放置的目錄
  2. $ wget download.redis.io/releases/re… --通過 wget 方式下載壓縮包
  3. $ tar -zxvf redis-4.0.11.tar.gz --解壓安裝包
  4. $ ln -s /usr/local/src/redis-4.0.11 /usr/local/redis --在 local目錄下建立軟連線,指向 redis-4.0.1
  5. $ cd /usr/local/redis --切換到 redis 目錄
  6. $ make --編譯(編譯之前確保作業系統已經安裝gcc,這個我還不懂,一般都已經安裝好了)
  7. $ make install --安裝
  8. $ redis-cli -v --檢查是否安裝成功,顯示 redis 版本號

此過程中的注意點:

  • 第 2 步可以先把檔案下載到自己 windows 系統,在通過檔案傳輸工具傳到 Linux 也是一樣的,取決於網速或者個人習慣;

  • 第 4 步在 local 目錄下建立軟連線的目的相當於重新命名,更方便,據說是安裝軟體的一種好習慣,具體其他作用還有待學習。

  • 第 6 步安裝完成之後會發現 /usr/local/bin/ 下多了幾個可執行檔案,這幾個都是 Redis 的命令,這樣就可以在任何目錄執行 redis 的命令了。不需要配置 PATH 環境變數,我個人覺得是所選擇的安裝目錄原因,因為網上有些教程還需要配置環境變數,這樣做就省去了一些麻煩。

  • 還沒教我怎麼啟動就跑了?

詳細步驟寫完了,也顯示安裝成功了,你以為就安裝好了?其實下面才是重點避坑的經驗。

redis 自定義配置

  1. $ cd /usr/local/redis --進入 redis 目錄可以看到有一個 redis.conf 檔案,這是 redis 的自定義配置檔案
  2. $ vim redis.conf --使用 vim 開啟 redis 配置檔案,還不清楚 vim 基本用法的就得先 Google 學習一下了
  3. bind 127.0.0.1 -- 將這個配置註釋掉,否則預設只能本地訪問,無法放在伺服器上供遠端客戶端連線
  4. requirepass yourpassword --去掉註釋,配置 redis 密碼,這個相當重要,後面再解釋
  5. protected-mode --安全模式,改成 yes,如果是 no,表示不需要密碼登陸
  6. 儲存退出

上面相當重要的一點就是要設定密碼,否則就很不安全,不安全!!!具體是什麼情況呢,來了解一下。

密碼是指客戶端通過 redis-cli 命令登入時需要密碼,不是啟動服務時。

比如我用的是阿里雲伺服器,最近老是被黑客攻擊,變成肉雞,就是通過 redis 的埠(6379)入侵的,因為我之前沒有設定密碼。當然這不是唯一的原因,還有阿里雲的安全組設定等等,都是請教別人才知道的,請教完之後還是雲裡霧裡,但是能把問題解決就算好了。

redis 啟動

  1. $ redis-server /usr/local/redis/redis.conf & --載入自定義配置檔案並且以守護程式的方式啟動 redis 服務
  2. $ redis-cli -a password --使用密碼連線 redis 服務
  3. 127.0.0.1:6379> keys * --驗證是否能成功訪問伺服器的資料

這只是目前我能理解的並且比較好的啟動方式,當然還有加各種引數的,還有待學習,先解釋下上面的意思。

redis-server 就可以啟動 redis 服務,但是使用預設配置啟動,也就是我們修改的 redis.conf 中的內容不會載入進來。所以加上 redis.conf 配置檔案的路徑表示通過載入自定義配置檔案方式啟動。

最後一個引數是比較有意思的。如果我們啟動 redis-server 之後,游標不會返回到命令帶輸入狀態,而是 redis 服務啟動的狀態。這時候我們需要用 ctrl+c 切換到命令狀態,此時如果沒有加 & 引數,redis 服務會自動關閉。 & 參數列示以守護程式的方式啟動 redis, 這樣啟動之後儘管放心做其他事就好了,服務一直在後臺執行。

redis-cli 不加引數就可以連線 redis 伺服器,但是並不能進行任何操作,會提示 (error) NOAUTH Authentication required. 表示需要進行許可權認證。此時需要通過 $ auth password 進行認證。在連線時加上引數就省去了麻煩。

windows 客戶端工具連線

RedisDesktopManager 是可以在 windows 上通過介面操作 redis 的軟體,也就像 mysql 也有桌面工具 navicat ,還是通過命令列操作最好,有利於學習。

推薦一個最近感覺挺不錯的 SSH(簡單理解為連線遠端伺服器)工具:XShell,看著挺舒服。

總結

redis 的安裝不復雜,只是有一些地方需要避免踩坑,在此記錄下防止下次再出錯。

寫個安裝步驟一張圖都沒有看著還挺累,主要是不喜歡貼圖,太麻煩。

剛剛學習 redis,寫得並不全面或者並不正確,歡迎一起交流。

Redis 安裝避坑指南

相關文章