如何在Linux CentOS上安裝和配置Redis

如何在Linux CentOS上安裝和配置Redis

大家好,我是曾續緣。歡迎來到本教程!今天我將向您介紹在Linux CentOS上安裝和配置Redis的詳細步驟。Redis是一個高性能的鍵值存儲系統,常用于緩存、消息隊列和數據持久化等應用場景。讓我們一起開始吧!

首先,您需要下載Redis壓縮包,并將其解壓到指定目錄。然后,安裝gcc編譯器以便編譯Redis源代碼。接下來,我們會對環境變量進行配置,使得Redis命令可以在任何目錄下執行。最后,我們會對Redis進行配置,并啟動Redis服務器。

在整個過程中,我會提供詳細的命令和截圖,以幫助您更好地理解每個步驟。如果您遇到任何問題,請隨時向我提問。讓我們一起開始安裝和配置Redis吧!

一、下載并安裝Redis

  1. 下載Redis壓縮包:
cd /usr/local
wget https://download.redis.io/releases/redis-6.0.5.tar.gz

曾續緣

  1. 解壓Redis,并將解壓出的文件夾重命名:
tar -zvxf redis-6.0.5.tar.gz -C /usr/local
mv redis-6.0.5 redis6

曾續緣

  1. 安裝gcc:
yum install gcc-c++
  1. 編譯Redis:
cd /usr/local/redis6
make

如果gcc版本過低,會出現以下錯誤

曾續緣

查看gcc版本是否在5.3以上,yum默認安裝4.8.5

曾續緣

  1. 升級到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

曾續緣

  1. 重新編譯并安裝Redis
    cd /usr/local/redis6
    make distclean
    make
    make PREFIX=/usr/local/redis6 install
    

這個PREFIX關鍵字的作用是編譯的時候用于指定程序存放的路徑,方便后續的卸載,直接rm -rf /usr/local/redis6 即可刪除redis。曾續緣

曾續緣

二、配置環境變量

為了方便后續操作,我們可以配置環境變量,使得Redis命令可以在任何目錄下執行。

  1. 編輯環境變量配置文件:
vim /etc/profile
  1. 按下i鍵進入編輯模式,在文件末尾添加以下內容:
export REDIS_HOME=/usr/local/redis6
export PATH=$PATH:$REDIS_HOME/src/

按下Esc鍵退出編輯模式,并輸入:wq保存并退出vim編輯器。

曾續緣

  1. 保存并退出后,刷新配置信息:
source /etc/profile
  1. 最后,讓我們驗證redis是否成功安裝。
redis-server -v
redis-cli -v

曾續緣

如果redis安裝成功,你將會看到redis版本信息的輸出。

因為redis 的server 與 cli 同時安裝,所以二者查出的結果基本一致。

三、配置Redis

  1. 編輯配置文件redis.conf
vim /usr/local/redis6/redis.conf
  1. 以守護進程模式啟動Redis: 修改redis.conf中的daemonize nodaemonize yes

曾續緣

曾續緣

redis.conf中選項daemonize設置成yes時,代表開啟守護進程模式。在該模式下,redis會在后臺運行,并將進程pid號寫入至redis.conf選項pidfile設置的文件中,此時redis將一直運行,除非手動kill該進程。

  1. 如果需要遠程連接,取消保護模式,將protected-mode yes設置為protected-mode no,同時注釋bind

曾續緣

曾續緣

  1. 找到配置文件里面 # 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 文件的同步頻率。可選值包括 alwayseverysecnoalways 表示每次寫入都同步,everysec 表示每秒同步一次,no 則完全依賴操作系統的行為。
  • auto-aof-rewrite-percentageauto-aof-rewrite-min-size 控制 AOF 文件何時進行重寫。

按下Esc鍵退出編輯模式,并輸入:wq保存并退出vim編輯器。

四、啟動Redis服務器

  1. 指定配置文件,啟動Redis服務器
redis-server redis.conf 
  1. 查看Redis運行情況:
ps -ef|grep redis

曾續緣

  1. 啟動Redis客戶端
redis-cli

曾續緣

  1. 使用auth password命令進行認證。如果密碼正確 將顯示OK,表示認證成功

曾續緣

  1. 云服務器有防火墻時,需要在云服務器控制臺安全組下配置放開 6379端口,以允許遠程連接到 Redis數據庫。曾續緣

    虛擬機有防火墻時,需要開放 Redis使用的端口(默認為 6379)

firewall-cmd --query-port=6379/tcp 查看端口狀態, no表示未開啟
firewall-cmd --add-port=6379/tcp --permanent  # 永久開放端口
systemctl restart firewalld  # 重啟防火墻
  1. 關閉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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74549.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74549.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74549.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

requests庫post方法怎么傳params類型的參數

在使用 requests 庫的 post 方法時&#xff0c;params 類型的參數通常用于在 URL 中作為查詢字符串傳遞。這與 data 或 json 參數不同&#xff0c;后者是放在請求體中的。下面詳細介紹如何在使用 post 方法時傳遞 params 參數。 使用 params 參數 params 參數接受一個字典或包…

C++常見問題與思考

TLS&#xff08;線程本地存儲&#xff09;原理 線程本地存儲&#xff08;Thread Local Storage&#xff0c;TLS&#xff09;是一種機制&#xff0c;它允許每個線程擁有自己獨立的變量實例&#xff0c;這些變量的生命周期與線程相同。也就是說&#xff0c;不同線程對同一個 TLS…

如何快速下載并安裝 Postman?

從下載、安裝、啟動 Postman 這三個方面為大家詳細講解下載安裝 Postman 每一步操作&#xff0c;幫助初學者快速上手。 Postman 下載及安裝教程(2025最新)

使用Gitee Go流水線部署個人項目到服務器指南

使用Gitee Go流水線部署個人項目到服務器指南 前言&#xff01;&#xff01;&#xff01; 本文解決的問題&#xff1a; 你有一臺ECS服務器&#xff0c;你在上面部署了一個Java服務也就是一個jar&#xff0c;你覺著你每次手動本地打包&#xff0c;上傳&#xff0c;在通過命令去…

Linux第一節:Linux系統編程入門指南

摘要 本文面向Linux初學者&#xff0c;系統講解操作系統核心概念、Shell命令實戰、權限管理精髓及目錄結構解析。通過思維導圖命令示例原理解析的方法&#xff0c;幫助開發者快速構建Linux知識體系&#xff0c;掌握生產環境必備技能。 一、Linux的前世今生&#xff1a;從實驗室…

【Linux 維測專欄 5 -- linux pstore 使用介紹】

文章目錄 Linux pstore 功能簡介1. pstore 概述2. pstore 的核心功能3. pstore 的工作原理4. pstore 的使用示例5. pstore 的優勢6. 典型應用場景配置示例1)DTS配置2)config配置運行測試及log問題小結Linux pstore 功能簡介 1. pstore 概述 pstore(Persistent Storage)是…

在 ASP .NET Core 9.0 中使用 Scalar 創建漂亮的 API 文檔

示例代碼&#xff1a;https://download.csdn.net/download/hefeng_aspnet/90407900 Scalar 是一款可幫助我們為 API 創建精美文檔的工具。與感覺有些過時的默認 Swagger 文檔不同&#xff0c;Scalar 為 API 文檔提供了全新而現代的 UI。其簡潔的設計讓開發人員可以輕松找到測試…

Rabbitmq消息被消費時拋異常,進入Unacked 狀態,進而導致消費者不斷嘗試消費(下)

一、消費流程圖 消息在消費出現異常的時候&#xff0c;將一直保留在消息隊列&#xff0c;所以你會看到以下奇怪的現象&#xff1a; 消息隊列僅有5個消息&#xff0c; 投遞速度也非常快&#xff0c;結果卻一直無法消費掉。 二、重試策略 重試機制的使用場景&#xff1a;重試機制…

【STM32】知識點介紹二:GPIO引腳介紹

文章目錄 一、概述二、GPIO的工作模式三、寄存器編程 一、概述 GPIO&#xff08;英語&#xff1a;General-purpose input/output&#xff09;,即通用I/O(輸入/輸出)端口&#xff0c;是STM32可控制的引腳。STM32芯片的GPIO引腳與外部設備連接起來&#xff0c;可實現與外部通訊、…

JavaScript流程控制精講(二)運算符與循環實戰

JavaScript流程控制精講&#xff08;二&#xff09;運算符與循環實戰 學習目標&#xff1a;掌握條件判斷與循環控制&#xff0c;實現基礎業務邏輯 核心要點&#xff1a;運算符優先級 | 短路運算 | 循環優化 | 項目實戰 一、運算符進階技巧 1.1 算術運算符 console.log(5 % 3)…

如何在IPhone 16Pro上運行python文件?

在 iPhone 16 Pro 上運行 Python 文件需要借助第三方工具或遠程服務&#xff0c;以下是具體實現方法和步驟&#xff1a; 一、本地運行方案&#xff08;無需越獄&#xff09; 使用 Python 編程類 App 以下應用可在 App Store 下載&#xff0c;支持直接在 iPhone 上編寫并運行 …

【趙渝強老師】達夢數據庫的數據庫對象

達夢數據庫中包含各種數據庫對象&#xff0c;主要分為兩大類型&#xff1a;基本數據庫對象和復雜數據庫對象。下面分別進行介紹。 視頻講解如下 【趙渝強老師】達夢數據庫的數據庫對象 一、 基本數據庫對象 常見的基本數據庫對象有&#xff1a;表、索引、視圖、序列、同義詞等…

【每日算法】Day 6-1:哈希表從入門到實戰——高頻算法題(C++實現)

摘要 &#xff1a;掌握高頻數據結構&#xff01;今日深入解析哈希表的核心原理與設計實現&#xff0c;結合沖突解決策略與大廠高頻真題&#xff0c;徹底掌握O(1)時間復雜度的數據訪問技術。 一、哈希表核心思想 哈希表&#xff08;Hash Table&#xff09; 是一種基于鍵值對的…

LeetCode 第29題、30題

LeetCode 第29題&#xff1a;兩數相除 題目描述 給你兩個整數&#xff0c;被除數dividend和除數divisor。將兩數相除&#xff0c;要求不使用乘法、除法和取余運算。整數除法應該向零截斷&#xff0c;也就是截去其小數部分。例如&#xff0c;8.345將被截斷為8&#xff0c;-2.733…

26考研——樹與二叉樹_樹、森林(5)

408答疑 文章目錄 二、樹、森林樹的基本概念樹的定義和特性樹的定義樹的特性 基本術語樹的基本術語和概念祖先、子孫、雙親、孩子、兄弟和堂兄弟結點的層次、度、深度和高度樹的度和高度分支結點和葉結點有序樹和無序樹路徑和路徑長度 森林的基本術語和概念森林的定義森林與樹的…

【HarmonyOS Next之旅】DevEco Studio使用指南(六)

目錄 1 -> 在模塊中添加Ability 1.1 -> Stage模型添加UIAbility 1.1.1 -> 在模塊中添加UIAbility 1.1.2 -> 在模塊中添加Extension Ability 2 -> 創建服務卡片 2.1 -> 概述 2.2 -> 使用約束 2.3 -> 創建服務卡片 2.4 -> 創建動態/靜態卡片…

Langchain 多模態輸入和格式化輸出

多模態輸入 圖片處理&#xff08;最高頻&#xff09; 1.1 URL形式&#xff08;推薦大文件&#xff09; from langchain.schema import HumanMessage from langchain.chat_models import ChatOpenAIchat ChatOpenAI(model"gpt-4-vision-preview")message HumanMes…

Excel多級聯動下拉菜單的自動化設置(使用Python中的openpyxl模塊)

1 主要目的 在Excel中&#xff0c;經常會遇到需要制作多級聯動下拉菜單的情況&#xff0c;要求單元格內填寫的內容只能從指定的多個選項中進行選擇&#xff0c;并且需要設置多級目錄&#xff0c;其中下級目錄的選項內容要根據上級目錄的填寫內容確定&#xff0c;如下圖所示&am…

3.25-1 postman執行+弱網測試

1.導出json腳本 2.打包json文件 3.下載的文件 二 .導入腳本 選擇文件 點擊導入 導入的接口 三.多接口運行 &#xff08;1&#xff09;集合右鍵&#xff0c;點擊run &#xff0c;運行多個接口 2.編輯環境&#xff0c;集合&#xff0c;執行次數等 運行多個接口 四.運行多個接口…

Pear Admin Flask 開發問題

下載代碼請復制以下命令到終端執行 git clone https://gitee.com/pear-admin/pear-admin-flask 于是我下載git 完成安裝后&#xff1a; 安裝 Git 后出現的頁面是 “Git for Windows 的版本發布說明&#xff08;Release Notes&#xff09;”&#xff0c;通常會在安裝完成后自動彈…