您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Linux下怎么安裝Redis”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux下怎么安裝Redis”這篇文章吧。
Redis版本 5.0.4
服務器版本 Linux CentOS 7.6 64位
進入官網找到下載地址 https://redis.io/download
右鍵Download按鈕,選擇復制鏈接。 進入到Xshell控制臺(默認當前是root根目錄),輸入wget 將上面復制的下載鏈接粘貼上,如下命令:
wget http:``//download.redis.io/releases/redis-5.0.7.tar.gz
敲入回車鍵執行后如下圖:
等待下載完成。
解壓
下載完成后需要將壓縮文件解壓,輸入以下命令解壓到當前目錄
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安裝完成了。在目錄/usr/local/redis 輸入下面命令啟動redis
./bin/redis-server& ./redis.conf
上面的啟動方式是采取后臺進程方式,下面是采取顯示啟動方式(如在配置文件設置了daemonize屬性為yes則跟后臺進程方式啟動其實一樣)。
./bin/redis-server ./redis.conf
兩種方式區別無非是有無帶符號&的區別。 redis-server 后面是配置文件,目的是根據該配置文件的配置啟動redis服務。redis.conf配置文件允許自定義多個配置文件,通過啟動時指定讀取哪個即可。
在目錄/usr/local/redis下有一個redis.conf的配置文件。我們上面啟動方式就是執行了該配置文件的配置運行的。我么可以通過cat、vim、less等Linux內置的讀取命令讀取該文件。
也可以通過redis-cli命令進入redis控制臺后通過CONFIG GET * 的方式讀取所有配置項。 如下:
redis-cli``CONFIG GET *
回車確認后會將所有配置項讀取出來,如下圖
這里列舉下比較重要的配置項
配置項名稱 | 配置項值范圍 | 說明 |
---|---|---|
daemonize | yes、no | yes表示啟用守護進程,默認是no即不以守護進程方式運行。其中Windows系統下不支持啟用守護進程方式運行 |
port | 指定 Redis 監聽端口,默認端口為 6379 | |
bind | 綁定的主機地址,如果需要設置遠程訪問則直接將這個屬性備注下或者改為bind * 即可,這個屬性和下面的protected-mode控制了是否可以遠程訪問 。 | |
protected-mode | yes 、no | 保護模式,該模式控制外部網是否可以連接redis服務,默認是yes,所以默認我們外網是無法訪問的,如需外網連接rendis服務則需要將此屬性改為no。 |
timeout | 300 | 當客戶端閑置多長時間后關閉連接,如果指定為 0,表示關閉該功能 |
loglevel | debug、verbose、notice、warning | 日志級別,默認為 notice |
databases | 16 | 設置數據庫的數量,默認的數據庫是0。整個通過客戶端工具可以看得到 |
rdbcompression | yes、no | 指定存儲至本地數據庫時是否壓縮數據,默認為 yes,Redis 采用 LZF 壓縮,如果為了節省 CPU 時間,可以關閉該選項,但會導致數據庫文件變的巨大。 |
dbfilename | dump.rdb | 指定本地數據庫文件名,默認值為 dump.rdb |
dir | 指定本地數據庫存放目錄 | |
requirepass | 設置 Redis 連接密碼,如果配置了連接密碼,客戶端在連接 Redis 時需要通過 AUTH | |
maxclients | 0 | 設置同一時間最大客戶端連接數,默認無限制,Redis 可以同時打開的客戶端連接數為 Redis 進程可以打開的最大文件描述符數,如果設置 maxclients 0,表示不作限制。當客戶端連接數到達限制時,Redis 會關閉新的連接并向客戶端返回 max number of clients reached 錯誤信息。 |
maxmemory | XXX | 指定 Redis 最大內存限制,Redis 在啟動時會把數據加載到內存中,達到最大內存后,Redis 會先嘗試清除已到期或即將到期的 Key,當此方法處理 后,仍然到達最大內存設置,將無法再進行寫入操作,但仍然可以進行讀取操作。Redis 新的 vm 機制,會把 Key 存放內存,Value 會存放在 swap 區。配置項值范圍列里XXX為數值。 |
顯示詳細信息
這里我要將daemonize改為yes,不然我每次啟動都得在redis-server命令后面加符號&,不這樣操作則只要回到Linux控制臺則redis服務會自動關閉,同時也將bind注釋,將protected-mode設置為no。 這樣啟動后我就可以在外網訪問了。
更改方式:
vim /usr/local/redis/redis.conf
通過 /daemonize 查找到屬性,默認是no,更改為yes即可。 (通過/關鍵字查找出現多個結果則使用 n字符切換到下一個即可,查找到結果后輸入:noh退回到正常模式)
如下圖:
其他兩個屬性也是同樣方式查找和編輯即可。
1、采取查看進程方式
ps -aux | grep redis
結果如下圖:
2、采取端口監聽查看方式
netstat -lanp | grep 6379
結果如下圖:
redis-cli是連接本地redis服務的一個命令,通過該命令后可以既然怒redis的腳本控制臺。如下圖
輸入exit可以退出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緩存問題,我重啟服務器嘗試下。結果還是一樣的。。。哎先不糾結了 后續再去找原因吧
以上是“Linux下怎么安裝Redis”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。