如何在Linux CentOS上安裝和配置Redis
大家好,我是曾續緣。歡迎來到本教程!今天我將向您介紹在Linux CentOS上安裝和配置Redis的詳細步驟。Redis是一個高性能的鍵值存儲系統,常用于緩存、消息隊列和數據持久化等應用場景。讓我們一起開始吧!
首先,您需要下載Redis壓縮包,并將其解壓到指定目錄。然后,安裝gcc編譯器以便編譯Redis源代碼。接下來,我們會對環境變量進行配置,使得Redis命令可以在任何目錄下執行。最后,我們會對Redis進行配置,并啟動Redis服務器。
在整個過程中,我會提供詳細的命令和截圖,以幫助您更好地理解每個步驟。如果您遇到任何問題,請隨時向我提問。讓我們一起開始安裝和配置Redis吧!
一、下載并安裝Redis
- 下載Redis壓縮包:
cd /usr/local
wget https://download.redis.io/releases/redis-6.0.5.tar.gz
- 解壓Redis,并將解壓出的文件夾重命名:
tar -zvxf redis-6.0.5.tar.gz -C /usr/local
mv redis-6.0.5 redis6
- 安裝gcc:
yum install gcc-c++
- 編譯Redis:
cd /usr/local/redis6
make
如果gcc版本過低,會出現以下錯誤
查看gcc版本是否在5.3以上,yum默認安裝4.8.5
- 升級到gcc 9.3
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
# scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本,
# 如果要長期使用gcc 9.3的話可選👇
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
- 重新編譯并安裝Redis
cd /usr/local/redis6 make distclean make make PREFIX=/usr/local/redis6 install
這個PREFIX
關鍵字的作用是編譯的時候用于指定程序存放的路徑,方便后續的卸載,直接rm -rf /usr/local/redis6
即可刪除redis。
二、配置環境變量
為了方便后續操作,我們可以配置環境變量,使得Redis命令可以在任何目錄下執行。
- 編輯環境變量配置文件:
vim /etc/profile
- 按下
i
鍵進入編輯模式,在文件末尾添加以下內容:
export REDIS_HOME=/usr/local/redis6
export PATH=$PATH:$REDIS_HOME/src/
按下Esc
鍵退出編輯模式,并輸入:wq
保存并退出vim編輯器。
- 保存并退出后,刷新配置信息:
source /etc/profile
- 最后,讓我們驗證redis是否成功安裝。
redis-server -v
redis-cli -v
如果redis安裝成功,你將會看到redis版本信息的輸出。
因為redis 的server 與 cli 同時安裝,所以二者查出的結果基本一致。
三、配置Redis
- 編輯配置文件
redis.conf
vim /usr/local/redis6/redis.conf
- 以守護進程模式啟動Redis: 修改
redis.conf
中的daemonize no
為daemonize yes
當redis.conf
中選項daemonize
設置成yes
時,代表開啟守護進程模式。在該模式下,redis會在后臺運行,并將進程pid號寫入至redis.conf
選項pidfile
設置的文件中,此時redis將一直運行,除非手動kill該進程。
- 如果需要遠程連接,取消保護模式,將
protected-mode yes
設置為protected-mode no
,同時注釋bind
- 找到配置文件里面
# requirepass footbared
,可以將footbared
直接修改為自己的密碼
配置RDB
RDB 是一種通過創建數據集的時間點快照來實現持久化的機制。當觸發快照時,Redis 會保存整個數據集到一個單獨的文件中。可以通過以下幾種方式觸發 RDB 持久化:
- 手動觸發:使用
SAVE
命令或者BGSAVE
命令。 - 自動觸發:根據配置文件中的規則自動觸發。
設置保存策略:
save
指令用于定義在多少秒內有多少個鍵變化時執行一次快照。- 例如,下面的配置表示在 900 秒內如果有 1 個 key 改變,或者在 300 秒內有 10 個 keys 改變,又或者在 60 秒內有 10000 個 keys 改變時,Redis 將執行一次快照。
save 900 1
save 300 10
save 60 10000
設置快照文件名:
dbfilename
選項指定 RDB 文件的名稱。
dbfilename dump.rdb
設置工作目錄:
dir
選項指定 RDB 文件的保存路徑。
# Note that you must specify a directory here, not a file name.
dir ./
啟用AOF
AOF 是一種日志形式的數據持久化方式,它記錄了所有寫入操作的命令,可以在啟動時重新執行這些命令來恢復數據。
如果啟用了 AOF,那么 RDB 文件主要用于災難恢復。
appendonly
選項用來啟用或禁用 AOF。appendfilename
選項指定 AOF 文件的名稱。appendfsync
選項控制 AOF 文件的同步頻率。可選值包括always
、everysec
和no
。always
表示每次寫入都同步,everysec
表示每秒同步一次,no
則完全依賴操作系統的行為。auto-aof-rewrite-percentage
和auto-aof-rewrite-min-size
控制 AOF 文件何時進行重寫。
按下Esc
鍵退出編輯模式,并輸入:wq
保存并退出vim編輯器。
四、啟動Redis服務器
- 指定配置文件,啟動Redis服務器
redis-server redis.conf
- 查看Redis運行情況:
ps -ef|grep redis
- 啟動Redis客戶端
redis-cli
- 使用
auth password
命令進行認證。如果密碼正確 將顯示OK,表示認證成功
-
云服務器有防火墻時,需要在云服務器控制臺安全組下配置放開 6379端口,以允許遠程連接到 Redis數據庫。
虛擬機有防火墻時,需要開放 Redis使用的端口(默認為 6379)
firewall-cmd --query-port=6379/tcp 查看端口狀態, no表示未開啟
firewall-cmd --add-port=6379/tcp --permanent # 永久開放端口
systemctl restart firewalld # 重啟防火墻
- 關閉Redis服務器
ps -ef | grep redis
# 找到redis-server的進程號pid
kill -9 pid
五、修改密碼
要修改Redis的登錄密碼,我們需要編輯Redis的配置文件。
編輯配置文件
vim /usr/local/redis6/redis.conf
打開配置文件并找到這一行:(查找/requirepass
)
requirepass <password>
修改為自己的密碼:
requirepass my_secure_password
重啟 Redis 服務
修改配置文件后,需要重啟 Redis 服務以使更改生效。
如果使用的是 systemd 或類似的系統管理工具,可以使用以下命令重啟 Redis:
sudo systemctl restart redis
如果 Redis 是作為一個普通的進程運行的,我們需要手動停止它再啟動:
# 先找到 Redis 進程的 PID
ps -ef | grep redis-server
# 停止 Redis
kill <PID>
# 啟動 Redis
redis-server /usr/local/redis6/redis.conf
測試連接
現在,當使用 redis-cli
連接到 Redis 服務器時,需要先輸入密碼:
redis-cli
127.0.0.1:6379> auth my_secure_password
OK
127.0.0.1:6379>
如果沒有正確輸入密碼,會收到一個錯誤消息:
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
這樣就完成了 Redis 密碼的設置。
以上就是在Linux系統中進行Redis初始化配置的詳細步驟。通過按照這些步驟操作,您可以成功完成Redis的初始化配置。希望這篇教程對您有所幫助!
參考鏈接:https://cengxuyuan.cn