如何在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.rhkb.cn/news/42870.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Realsense-D400 系列手动曝光控制

文章目录 1、曝光 & 增益2、曝光 & 帧率3、调参 & 加载4、高级控制选项5、官方文档参考小结 1、曝光 & 增益 曝光exposure&#xff1a;英特尔 RealSense D400设备模组中的可见光 RGB 传感器和红外左右目传感器具有单独的曝光控制&#xff0c;对于双目红外&…

最大异或对 The XOR Largest Pair

题目来自洛谷网站&#xff1a; 思路&#xff1a; 两个循环时间复杂度太高了&#xff0c;会超时。 我们可以先将读入的数字&#xff0c;插入到字典树中&#xff0c;从高位到低位。对每个数查询的时候&#xff0c;题目要求是最大的异或对&#xff0c;所以我们选择相反的路径&am…

探索 curl ipinfo.io:从命令行获取你的网络身份卡!!!

&#x1f310; 探索 curl ipinfo.io&#xff1a;从命令行获取你的网络身份卡 &#x1faaa; &#x1f680; 简介&#xff1a;为什么需要 curl ipinfo.io&#xff1f; 当你在调试网络服务、排查访问限制或开发基于地理位置的应用时&#xff0c;公网 IP 信息就像一张网络身份证。…

Chrome(Google) 浏览器安装Vue2、Vue3 Devtools插件方法

方式一&#xff1a;本地下载安装 步骤一&#xff1a;下载 网站:极简插件官网_Chrome插件下载_Chrome浏览器应用商店 步骤二&#xff1a;下载后解压,并拖入浏览器扩展页面&#xff0c;安装插件后&#xff0c;重启浏览器。 步骤三&#xff1a;查看是否安装成功 方式二&#x…

树莓派超全系列文档--(7)RaspberryOS播放音频和视频

播放音频和视频 播放音频和视频VLC 媒体播放器vlc GUIvlc CLI使用 cvlc 在没有图形用户界面的情况下播放媒体 在 Raspberry Pi OS Lite 上播放音频和视频指定音频输出设备指定视频输出设备同时指定音频和视频输出设备提高数据流播放性能 文章来源&#xff1a; http://raspberr…

MySQL 8.0.41安装教程(附安装包)mysql8.0.41图文详细安装教程

文章目录 前言一、MySQL 8.0.41下载安装包二、MySQL 8.0.41安装教程1.启动安装程序2.选择安装模式3.选定安装组件4.确认安装设置5.执行安装操作6.安装进行中7.设置数据库密码8.继续点击下一步9.执行配置操作10.完成配置11. 再次点击下一步12.结束安装向导 三、MySQL 8.0.41配置…

centos7 linux VMware虚拟机新添加的网卡,能看到网卡名称,但是看不到网卡的配置文件

问题现象&#xff1a;VMware虚拟机新添加的网卡&#xff0c;能看到网卡&#xff0c;但是看不到网卡的配置文件 解决方案&#xff1a; nmcli connection show nmcli connection add con-name ens36 ifname ens36 type ethernet #创建一个网卡连接配置文件&#xff0c;这里con…

【LVS】负载均衡群集部署(DR模式)

部署前IP分配 DR服务器&#xff1a;192.168.166.101 vip&#xff1a;192.168.166.100 Web服务器1&#xff1a;192.168.166.104 vip&#xff1a;192.168.166.100 Web服务器2&#xff1a;192.168.166.107 vip&#xff1a;192.168.166.100 NFS服务器&#xff1a;192.168.166.108 …

服务器与客户端通讯测试

服务器与客户端通讯测试 1 服务器与客户端通讯建立1.1 Main函数1.2 开启服务器1.3 客户端连接服务器1.4 扩展类 2 测试过程2.1 测试12.2 测试22.3 测试32.4 测试4 3 测试总结 测试服务器与客户端通讯时&#xff0c;发现数据丢包问题非常严重&#xff0c;肯定是自己的问题不会是…

Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927) 复现利用与原理分析

免责声明 本文所述漏洞复现方法仅供安全研究及授权测试使用&#xff1b; 任何个人/组织须在合法合规前提下实施&#xff0c;严禁用于非法目的&#xff1b; 作者不对任何滥用行为及后果负责&#xff0c;如发现新漏洞请及时联系厂商并遵循漏洞披露规则。 漏洞原理 Next.js 是一个…

基于STC89C51的太阳自动跟踪系统的设计与实现—单片机控制步进电机实现太阳跟踪控制(仿真+程序+原理图+PCB+文档)

摘 要 随着我国经济的飞速发展&#xff0c;促使各种能源使用入不敷出&#xff0c;尤其是最主要的能源&#xff0c;煤炭石油资源不断消耗与短缺&#xff0c;因此人类寻找其他替代能源的脚步正在加快。而太阳能则具有无污染﹑可再生﹑储量大等优点&#xff0c;且分布范围广&…

在 Mermaid 流程图里“驯服”quot;的魔法指南!!!

&#x1f409; 在 Mermaid 流程图里“驯服”"的魔法指南 在使用 Mermaid 画流程图时&#xff0c;是不是经常遇到想秀一波 &quot; 却被它“反杀”的情况&#xff1f;&#x1f3af; 今天就来教大家如何在这头代码野兽的嘴里&#xff0c;抢回我们的双引号实体编码&#…

SQL语句---DDL

文章目录 1、SQL语句2、DDL2.1 数据库的操作显示当前的数据库创建数据库指定编码删除数据库切换当前数据库 2.2 数据表的操作显示表创建表显示表结构修改表添加新的字段删除原有字段 修改原有字段删除数据表 2.3 Mysql数据库中常用的数据类型 1、SQL语句 结构化查询语句&#…

界面控件Telerik和Kendo UI 2025 Q1亮点——AI集成与数据可视化

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET MVC、Kendo…

信源的分类及数学模型

信源的分类及数学模型 按照信源发出的时间和消息分布分为离散信源和连续信源 按照信源发出符号之间的关系分为无记忆信源和有记忆信源 单符号离散信源&#xff08;一维离散信源&#xff09; 信源输出的消息数有限或可数&#xff0c;且每次只输出符号集的一个消息 样本空间&…

Flask项目部署:Flask + uWSGI + Nginx

目录 1,网络架构 2,环境安装 2.1,安装yum:Shell软件包管理器 2.2 安装python 2.3 安装uWSGI 2.4 安装Flask 3,上传工程包到服务器,打包Flask项目 4,创建和配置 uwsgi 配置文件 uwsgi.ini 4.1配置文件 4.2配置文件注释详解 5,启动服务 6,安装nginx 7,nginx配置 8,…

05-SpringBoot3入门-整合SpringMVC(配置静态资源、拦截器)

1、说明 在01-SpringBoot3入门-第一个项目-CSDN博客中&#xff0c;其实就已经整合了SpringMVC。下面讲解怎么配置静态资源和拦截器 2、配置静态资源 命名&#xff1a;static&#xff08;文件夹&#xff09; 位置&#xff1a;src/main/resources 编写一个html文件 访问 http:/…

外包干了一个月,技术明显进步。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入南京某软件公司&#xff0c;干了接近2年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

出海企业数字化为什么需要双层架构ERP?工博深度解析SAP ERP公有云方案

目录 什么是双层架构ERP&#xff1f; SAP双层架构ERP四大核心优势 标准化与集成 敏捷性与创新 成本与风险控制 合规与自主性 企业海外业务扩张时&#xff0c;可能由于文化差异、经验差异、合规要求和不断变化的地理政治环境等因素&#xff0c;使总部系统的在海外的推广充…

LVS的 NAT 模式实验

文章目录 目录 文章目录 概要 IP规划与题目分析 实验步骤 一、nginx配置&#xff08;rs1、rs2、rs3&#xff09; 二、LVS配置 三、客户端配置 四、防火墙和selinux配置 实验结果 痛点解答 概要 LVS/NAT lvs/nat网络地址转换模式&#xff0c;进站/出站的数据流量经过分发器(IP负…