linux 部署redis
Linux安裝部署Redis(超級詳細)
前言
網上搜索了一筐如何在Linux下安裝部署Redis的文章,各種文章混搭在一起勉強安裝成功了。自己也記錄下,方便后續安裝時候有個借鑒之處。
Redis版本 5.0.4
服務器版本 Linux CentOS 7.6 64位
下載Redis
進入官網找到下載地址 https://redis.io/download

右鍵Download按鈕,選擇復制鏈接。
進入到Xshell控制臺(默認當前是root根目錄),輸入wget 將上面復制的下載鏈接粘貼上,如下命令:
1
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
敲入回車鍵執行后如下圖:

等待下載完成。
解壓并安裝Redis
解壓
下載完成后需要將壓縮文件解壓,輸入以下命令解壓到當前目錄
1
tar -zvxf redis-5.0.7.tar.gz
解壓后在根目錄上輸入ls 列出所有目錄會發現與下載redis之前多了一個redis-5.0.7.tar.gz文件和 redis-5.0.7的目錄。

移動redis目錄
一般都會將redis目錄放置到 /usr/local/redis目錄,所以這里輸入下面命令將目前在/root目錄下的redis-5.0.7文件夾更改目錄,同時更改文件夾名稱為redis。
mv /root/redis-5.0.7 /usr/local/redis
cd 到/usr/local目錄下輸入ls命令可以查詢到當前目錄已經多了一個redis子目錄,同時/root目錄下已經沒有redis-5.0.7文件夾

編譯
cd到/usr/local/redis目錄,輸入命令make執行編譯命令,接下來控制臺會輸出各種編譯過程中輸出的內容。
make
最終運行結果如下:

安裝
輸入以下命令
make PREFIX=/usr/local/redis install
這里多了一個關鍵字 PREFIX= 這個關鍵字的作用是編譯的時候用于指定程序存放的路徑。比如我們現在就是指定了redis必須存放在/usr/local/redis目錄。假設不添加該關鍵字Linux會將可執行文件存放在/usr/local/bin目錄,
庫文件會存放在/usr/local/lib目錄。配置文件會存放在/usr/local/etc目錄。其他的資源文件會存放在usr/local/share目錄。這里指定號目錄也方便后續的卸載,后續直接rm -rf /usr/local/redis 即可刪除redis。
執行結果如下圖:

啟動redis
根據上面的操作已經將redis安裝完成了。在目錄/usr/local/redis 輸入下面命令啟動redis
./bin/redis-server& ./redis.conf

上面的啟動方式是采取后臺進程方式,下面是采取顯示啟動方式(如在配置文件設置了daemonize屬性為yes則跟后臺進程方式啟動其實一樣)。
./bin/redis-server ./redis.conf
兩種方式區別無非是有無帶符號&的區別。 redis-server 后面是配置文件,目的是根據該配置文件的配置啟動redis服務。redis.conf配置文件允許自定義多個配置文件,通過啟動時指定讀取哪個即可。
redis.conf配置文件
在目錄/usr/local/redis下有一個redis.conf的配置文件。我們上面啟動方式就是執行了該配置文件的配置運行的。我么可以通過cat、vim、less等Linux內置的讀取命令讀取該文件。
也可以通過redis-cli命令進入redis控制臺后通過CONFIG GET * 的方式讀取所有配置項。 如下:
1
2
redis-cli
CONFIG GET *

回車確認后會將所有配置項讀取出來,如下圖

這里列舉下比較重要的配置項

這里我要將daemonize改為yes,不然我每次啟動都得在redis-server命令后面加符號&,不這樣操作則只要回到Linux控制臺則redis服務會自動關閉,同時也將bind注釋,將protected-mode設置為no。
這樣啟動后我就可以在外網訪問了。
更改方式:
1
vim /usr/local/redis/redis.conf
通過 /daemonize 查找到屬性,默認是no,更改為yes即可。 (通過/關鍵字查找出現多個結果則使用 n字符切換到下一個即可,查找到結果后輸入:noh退回到正常模式)
如下圖:

其他兩個屬性也是同樣方式查找和編輯即可。
查看Redis是否正在運行
1、采取查看進程方式
1
ps -aux | grep redis
結果如下圖:

2、采取端口監聽查看方式
netstat -lanp | grep 6379
結果如下圖:

redis-cli
redis-cli是連接本地redis服務的一個命令,通過該命令后可以既然怒redis的腳本控制臺。如下圖

輸入exit可以退出redis腳本控制臺
關閉運行中的Redis服務
輸入redis-cli 進入控制臺后輸入命令shutdown即可關閉運行中的Redis服務了。如下圖:

遠程連接不上問題
如下圖,已經開放了Redis服務的ip不為127.0.0.1,理論上遠程客戶端應該可以連接了,而且云服務器的端口號也在安全組里開放了。

后面發現是啟動命令的問題,因為我比較偷懶,啟動redis我都是直接輸入命令
redis-server 或 redis-server& 這兩種方式都是直接讀取默認的配置文件啟動,無非前者是顯示啟動后者是作為后臺應用啟動。我其實也很納悶,因為我修改的就是默認的配置文件啊,我并沒有重新生成新的配置文件,但是確實我輸入命令 redis-server /usr/local/redis/etc/redis.conf 就是能成功,而且我輸入命令redis-server& /usr/local/redis/etc/redis.conf也是遠程登錄失敗。
關于直接輸入redis-server不行的問題我還懷疑是不是Linux緩存問題,我重啟服務器嘗試下。結果還是一樣的。。。哎先不糾結了 后續再去找原因吧
全局啟動命令: /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
全局使用redis-cli命令需要執行:sudo cp /usr/local/redis/bin/redis-cli /usr/local/bin/
浙公網安備 33010602011771號