[Redis]-安裝Redis 3.2.9

Redis建置學習心得

在測試的這個時候, Redis 3.2.9是最新的版本 (2017-06-19), 因此採取這個版本來做後續的說明. 至於下載Redis 3.2.9, 仍是建議到官方站台去下載:

 

https://redis.io/download

 

 

原則上在整個安裝與後續相關的設定中, 建議先使用root登入, 可以避免一些帳戶轉換的需求.

 

1.      在安裝Redis之前, 有四個工具是必需先行安裝好的
* net-tools

* wget

* gcc

* tcl

 

如果伺服器可以連線到外部網路的話, 就使用yum的方式來安裝

# yum -y install net-tools wget gcc tcl

 

如果無法連線到外部的話, 也可以從光碟使用rpm語法來安裝(路徑與檔案名稱要查一下是否一致)

# rpm -ivh /mnt/Packages/net-tools-2.0-0.17.20131004git.el7.x86_64.rpm

# rpm -ivh /mnt/Packages/wget-1.14-13.el7.x86_64.rpm

# rpm -ivh /mnt/Packages/gcc-4.8.5-11.el7.x86_64.rpm

# rpm -ivh /mnt/Packages/tcl-8.5.13-8.el7.x86_64.rpm

 

2.      為方便後續少打些語法, 將下載的檔案放到 /usr/ 目錄下.

# wget http://download.redis.io/release/redis-3.2.9.tar.gz

 

不過在測試時, 會發生 404 的錯誤..... 所以我是手動把檔案放到這個路徑中的.

--2017-06-19 11:02:21--  http://download.redis.io/release/redis-3.2.9.tar.gz

Resolving download.redis.io (download.redis.io)... 109.74.203.151

Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.

HTTP request sent, awaiting response... 404 Not Found

2017-06-19 11:02:21 ERROR 404: Not Found.

 

3.      將下載的\usr\redis-3.2.9.tar.gz檔案解壓縮

# tar xzf redis-3.2.9.tar.gz

 

4.      對此目錄中的相關檔案進行編譯

# cd redis-3.2.9

# make

 

 

5.      執行測試與安裝

# make test

# make install

 

6.      完成安裝後, 建立相關的目錄供系統使用

# mkdir /etc/redis

# mkdir /var/redis

 

7.      Redis目錄中的redis.conf複製一份到 /etc/redis/路徑下, 並且加上之後要使用的port number做為檔名

# cp /usr/redis-3.2.9/redis.conf /etc/redis/6379.conf

 

8.      同時建立一個對應的port路徑在 /var/redis

# mkdir /var/redis/6379

 

9.      修改剛才複製出來的/etc/redis/6379.conf 檔案內容

# vi /etc/redis/6379.conf

 

** bind <IP> 的值修改為 實體IP位置, 不使用127.0.0.1 (未來實作不會在同一台)

** daemonize 的值修改為 yes

** pidfile 的值修改為 /var/run/redis_6379.pid

** logfile 的值修改為 /var/log/redis_6379.log

** dir 的值修改為 /var/redis/6379

 

(: 為什麼bind IP只做實體IP位置? 這是為了之後demo, 不會被多台的127.0.0.1混淆, 當然若是已經上手的人, 可以自行調整)

 

10. 開啟防火牆在tcp 6379 port

# firewall-cmd --permanent --add-port=6379/tcp

# firewall-cmd --reload

 

11. <REDISPATH>/utils/redis_init_script 複製到 /etc/init.d/<file_name> 統一管理, 特別是如果機器上有多個Redis Instance (後續會實做多個instance)

# cp /usr/redis-3.2.9/utils/redis_init_script /etc/init.d/redis_6379

 

12. 修改複製出來的檔案內容, PORT6379Instance為例

# vi /etc/init.d/redis_6379

 

以下這幾行都要指定到正確的檔案位置, 預設的是舊版的, 所以會找不到檔案……與REDISPORT要給對PORT (如果依照上述的配置, 原則上只要看REDISPORT有沒有正確, 但檔案有改過位置或檔名的話, 就要人工改對應的內容)

 

REDISPORT=6379

EXEC=/usr/local/bin/redis-server

CLIEXEC=/usr/local/bin/redis-cli

 

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/etc/redis/${REDISPORT}.conf"

 

13. 啟動Redis, 語法如

# /etc/init.d/redis_6379 start

 

14. 驗證, 看看服務是否啟動的. 下列語法如果回應PONG就表示redis目前已啟動服務.

# redis-cli -h 192.168.127.101 -p 6379 ping

PONG

 

15. 測試重啟服務

基本上來說 手動停止Redis的服務, 只需要執行下列的語法

# redis-cli -h <IP> -p <port> save

# redis-cli -h <IP> -p <port> shutdown

 

以上述為例, 就是執行

# redis-cli -h 192.168.127.101 -p 6379 save

# redis-cli -h 192.168.127.101 -p 6379 shutdown

 

啟動Redis, 語法如下

# /etc/init.d/redis_6379 start

 

驗證, 看看服務是否啟動的. 下列語法如果回應PONG就表示redis目前已啟動服務.

# redis-cli -h 192.168.127.101 -p 6379 ping

PONG