如何在 Ubuntu 24.04、22.04 或 20.04 上安裝 Redis

Redis 是一種強大的記憶體資料結構存儲,廣泛用作資料庫、快取和訊息代理。 Redis 以其高效能和多功能性而聞名,支援字串、雜湊、列表、集合等各種資料結構,使其成為需要快速資料存取和即時分析的應用程式的流行選擇。

在 Ubuntu 24.04、22.04 或 20.04 上,可以使用兩種主要方法安裝 Redis。第一種方法是透過 Ubuntu 預設儲存庫,它提供了與系統套件管理良好整合的穩定版本。或者,對於需要具有最新功能和更新的最新版本的用戶,可以使用 Redis APT 鏡像儲存庫安裝 Redis。本指南將引導您完成這兩種安裝方法,幫助您選擇最適合您需求的方法。

方法一:透過APT預設儲存庫安裝Redis

在安裝 Redis 之前更新 Ubuntu

在安裝 Redis 之前,請確保系統的軟體包是最新的至關重要。此步驟有助於避免安裝過程中可能出現的任何衝突。若要更新您的 Ubuntu 系統,請執行以下命令:

sudo apt update && sudo apt upgrade

此命令將從儲存庫中獲取最新的軟體包資訊並升級系統上任何過時的軟體包。

透過APT命令安裝Redis

預設情況下,Redis 軟體包包含在 Ubuntu 儲存庫中,您可以使用以下命令進行安裝:

sudo apt install redis

此命令將在您的系統上下載並安裝 Redis 軟體包及其相依性。

驗證 Redis 安裝

現在您已經安裝了Redis,驗證安裝至關重要,因為您需要檢查安裝的版本。此步驟可確保 Redis 已正確安裝並如預期運作。

若要驗證 Redis 安裝,請執行以下命令:

redis-cli --version

此指令將顯示系統上安裝的 Redis 版本。如果輸出顯示Redis版本,則確認安裝成功。

方法2:透過Redis.io APT PPA安裝Redis

在使用 Redis.io 安裝 Redis 之前更新 Ubuntu

在繼續安裝 Redis 之前,請更新系統的軟體包以確保相容性並防止衝突:

sudo apt update && sudo apt upgrade

安裝 Redis.io PPA 的初始包

要完成安裝,您必須安裝一些必備軟體包。執行以下命令來安裝它們:

sudo apt install software-properties-common apt-transport-https curl ca-certificates curl -y

添加 Redis.io 存儲庫並安全地獲取包資訊需要這些包。

導入 Redis.io APT 儲存庫

首先,導入 GPG 金鑰來驗證軟體包:

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

接下來,將 Redis.io 儲存庫新增至您的系統:

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Redis.io PPA 導入後更新包列表

更新來源清單以包含新新增的 Redis.io 儲存庫:

sudo apt update

透過終端命令完成 Redis PPA 安裝

現在,您可以從 Redis.io 儲存庫安裝 Redis。如果您已經安裝了 Redis,此命令將對其進行升級:

sudo apt install redis-server redis-tools

驗證 Redis 安裝

若要確保您已安裝 Redis.io 版本,請使用 apt-cache policy 指令:

apt-cache policy redis-server

驗證輸出是否指示正確的版本。

接下來,啟用並啟動 Redis 服務:

sudo systemctl enable redis-server --now

檢查Redis服務的狀態並確保其運作無錯誤:

systemctl status redis-server

Redis 應在預設連接埠 6379 上主動監聽本機。

ps -ef | grep redis

輸出範例:

redis       4171       1  0 23:35 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua      4702    4691  0 23:36 pts/0    00:00:00 grep --color=auto redis

測試 Redis 連接

若要測試 Redis 安裝,請使用 redis-cli 指令連線到 Redis 服務:

redis-cli

連接後,您的終端將顯示 127.0.0.1:6379。執行 ping 測試以確保與 Redis 服務正常通訊:

ping
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

輸出應為“PONG”,表示連接成功。若要退出 Redis 實例,請鍵入:

exit

恭喜!您已在系統上成功安裝 Redis 並驗證其可運作。現在您可以根據需要繼續配置 Redis。

配置 Redis 的快速概述

Redis 是一種多功能工具,可透過多種方式進行配置以適應不同的用例。本部分將指導您配置 Redis 以進行快取、網路存取以及設定密碼以增強安全性。

編輯Redis設定檔

若要開始設定 Redis,請使用 nano 編輯器開啟 /etc/redis/redis.conf 檔案:

sudo nano /etc/redis.conf

配置 Redis 的最大內存

人們使用 Redis 的主要原因之一是出於快取目的。若要為 Redis 快取分配特定數量的內存,請在設定檔末尾新增以下行:

maxmemory 500mb 
maxmemory-policy allkeys-lru

在此範例中,我們將 500 MB 記憶體專用於 Redis。您可以根據伺服器的硬體和應用程式要求調整此值。一旦分配的記憶體耗盡,Redis 將根據最近最少使用(LRU)演算法刪除鍵。

配置 Redis 的網路訪問

預設情況下,Redis 僅監聽 localhost 介面。您可以將其設定為偵聽所有網路介面或特定 IP 位址/子網路。

首先,找到設定檔中的第 69 行。

選項 1:偵聽所有網路介面

若要監聽所有網路接口,請透過新增註解掉「bind」行 # 在開始時:

# bind 127.0.0.1 ::1

選項 2:綁定到特定 IP 位址或子網

若要將 Redis 綁定到特定 IP 位址或子網,請將「bind」行替換為所需的 IP 或子網路:

bind 0.0.0.0/0

或者

bind 192.150.5.0/24

注意:將 Redis 綁定到 IP 位址或子網路時,強烈建議設定密碼以增加安全性。

為Redis配置密碼

為了進一步保護您的 Redis 實例,請設定身份驗證密碼。

找到以 # requirepass 開頭的行(第 507 行左右),取消註釋,然後設定一個強密碼:

requirepass YourStrongPasswordHere

將 YourStrongPasswordHere 替換為包含大寫字母、小寫字母、數字和特殊符號組合的強健密碼。

設定密碼後,使用 redis-cli 連線 Redis 時需要使用有密碼的 auth 指令:

redis-cli
auth YourStrongPasswordHere

驗證失敗的使用者將收到錯誤訊息:(error) NOAUTH Authentication required.. 驗證成功後,使用者將看到 OK 訊息。

儲存變更並重新啟動 Redis

對設定檔進行必要的更改後,按 Ctrl + O 儲存更改,然後按 Ctrl + X 退出 Nano 編輯器。

配置Redis UFW防火牆規則

使用 Redis 時,尤其是如果您已將其設定為偵聽特定 IP 位址或子網路時,請確保防火牆允許 TCP 連接埠 6379 上的傳入連線至關重要。本節將討論配置 UFW(簡單防火牆)規則以允許 Redis 連線。

確保 UFW 已安裝並啟用

首先,請確保您的系統上安裝了 UFW:

sudo apt install ufw -y

接下來,啟用 UFW(如果尚未啟用):

sudo ufw enable

為 Redis 建立 UFW 規則

根據您的要求和網路設置,您可能需要為叢集中的單一伺服器實例或多個實例建立規則。

選項 1:允許來自特定 IP 位址的訪問

如果您需要允許從單一伺服器存取 Redis,請為該特定 IP 位址建立 UFW 規則:

sudo ufw allow proto tcp from <ip address> to any port 6379

代替具有適當的 IP 位址。

選項 2:允許從子網路訪問

如果您的叢集網路包含多個實例,則可以建立 UFW 規則以允許從整個子網路進行存取:

sudo ufw allow proto tcp from <ip address>/24 to any port 6379

代替具有適當的子網路 IP 位址。在使用此規則之前,請確保您的內部網路安全且值得信賴。

測試 Redis 連接性

設定 UFW 規則後,測試您的 Redis 服務以確保其可運作並可從允許的 IP 位址或子網路存取。使用帶有 -h 標誌的 redis-cli 指令,後面接著要連接的 IP 位址:

redis-cli -h  <ip address> ping

代替具有適當的 IP 位址。如果配置正確,您應該會收到“pong”回應。

pong

其他 Redis 配置選項

Redis 是一種多功能且功能豐富的記憶體資料結構存儲,主要用於快取、訊息代理等。在本節中,我們將探索 Redis 的其他設定選項,這些選項可以幫助您透過修改 Redis 設定檔來根據您的特定需求自訂其效能和行為。

為 Redis 配置鍵值過期策略

在 Redis 設定檔中,您可以透過修改 maxmemory-policy 和 maxmemory-samples 設定來設定鍵的預設生存時間 (TTL)。使用 nano 編輯器開啟 /etc/redis/redis.conf 檔案:

sudo nano /etc/redis/redis.conf

找到 maxmemory-policy 設定並根據需要進行配置。例如,要將策略設定為使用最近最少使用 (LRU) 演算法使金鑰過期,請如下更新配置:

maxmemory-policy volatile-lru

現在找到 maxmemory-samples 設定並配置 Redis 應檢查以做出驅逐決定的樣本數量:

maxmemory-samples 5

為 Redis 配置 TCP Keepalive

TCP keepalive 可以幫助偵測並關閉空閒連接,釋放資源。若要啟用 TCP keepalive,請在 /etc/redis/redis.conf 檔案中找到 tcp-keepalive 設定:

tcp-keepalive 300

在本例中,我們將保活間隔設定為 300 秒。根據您的要求調整該值。

配置Redis的慢日誌監控

慢日誌可以透過記錄花費超過指定時間的查詢來幫助識別效能問題。要設定慢日誌,請在 /etc/redis/redis.conf 檔案中找到 Slowlog-log-slower-than 和 Slowlog-max-len 設定:

slowlog-log-slower-than 10000
slowlog-max-len 128

在此範例中,我們將慢速日誌閾值設定為 10,000 微秒(10 毫秒),並將慢速日誌限制為 128 個最新條目。根據您的需求調整這些值。

為 Redis 配置 Redis 事件通知

Redis 可以針對特定事件產生通知,這有助於監控和偵錯。若要啟用事件通知,請在 /etc/redis/redis.conf 檔案中找到 notification-keyspace-events 設定:

notify-keyspace-events ExA

在此範例中,我們將 Redis 設定為發送有關過期和逐出金鑰的通知。 Redis 官方文件提供了有關事件通知和可用選項的更多資訊。

配置 Redis 的 Redis 日誌記錄級別

調整 Redis 日誌記錄等級可以幫助您收集適量的資訊以進行故障排除和監控。若要設定日誌記錄級別,請在 /etc/redis/redis.conf 檔案中找到 loglevel 設定:

loglevel notice

在此範例中,我們將日誌記錄等級設為“notice”,這是預設等級。您可以從以下選項中進行選擇:偵錯、詳細、通知和警告。根據您的要求調整日誌記錄等級。

配置所需選項後,儲存變更並重新啟動 Redis:

sudo systemctl restart redis-server

結論

透過在 Ubuntu 系統上安裝 Redis,您可以使用一個強大的工具來管理記憶體中的數據,為各種應用程式提供快速且高效的儲存解決方案。無論您選擇 Ubuntu 預設儲存庫的穩定性還是 Redis APT 映像儲存庫的尖端功能,這兩種方法都可以確保您擁有穩健的安裝。定期更新您的 Redis 設置,尤其是在使用 APT 鏡像時,將使您的系統保持平穩運行,並具有最新功能和安全性改進。享受 Redis 為您的 Ubuntu 環境帶來的速度和靈活性。

Joshua James
跟我來
Joshua James 的最新帖子 (看全部)

發佈留言