【redis】centos7下安装redis7

在CentOS 7下安装Redis7可以通过以下两种方法实现:手动编译安装和使用YUM进行安装。

CentOS 7系统的环境和版本:

$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

手动编译安装

参考官方文档:https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-from-source/

  1. 下载Redis7安装包:
    从Redis的官方网站下载Redis7的源代码包。例如,下载Redis7.2.0:
$ cd /opt/soft

$ sudo wget https://download.redis.io/releases/redis-7.2.0.tar.gz
  1. 编译并安装Redis7:
    下载完成后,解压缩源代码包,并进入解压后的目录进行编译和安装:
$ sudo tar -zxvf redis-7.2.0.tar.gz

$ cd redis-7.2.0

$ sudo make

$ sudo make install

如果编译过程中报错,很有可能是操作系统没有安装如下依赖,Redis的编译依赖于GCC和一些其他开发工具。可以通过以下命令安装这些依赖:

$ sudo yum update -y

$ sudo yum install -y gcc tcl make

在解压缩源代码包下有一个README.md文件,介绍了如何源码安装redis。

  1. 配置Redis:
    编译安装完成后,Redis的可执行文件(如redis-server、redis-cli)会被放置在/usr/local/bin/目录下。
    Redis的配置文件默认位于源代码目录下的redis.conf。可以将此文件复制到/etc/或其他你喜欢的位置,并对其进行编辑以满足需求。
$ sudo cp redis.conf /etc/redis.conf

$ sudo vim /etc/redis.conf

根据需要修改配置文件,例如:

  • 将bind 127.0.0.1改为bind 0.0.0.0,允许远程连接(如果需要的话)。
  • 将daemonize no改为daemonize yes,让Redis在后台运行。
  • 设置密码(可选),取消requirepass的注释并设置密码。
  • 设置日志文件路径和数据库持久化方式等(可选)。
  1. 启动Redis服务:
    配置完成后,可以使用以下命令启动Redis服务:
$ redis-server /etc/redis.conf
  1. 验证Redis服务:
$ redis-cli
127.0.0.1:6379> auth redispass
OK
127.0.0.1:6379> ping
PONG
  1. 设置Redis开机自启:
    如果想让Redis在系统启动时自动启动,需要创建一个systemd服务单元文件:
$ sudo vim /etc/systemd/system/redis.service

在文件中添加以下内容(注意修改ExecStart的路径以匹配Redis配置文件位置):

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

创建一个redis用户和组(如果它们不存在的话),并将/etc/redis.conf文件的权限设置给这个用户。

$ sudo groupadd redis

$ sudo useradd -g redis redis

重新加载systemd配置,启动Redis服务,并设置开机自启:

$ sudo systemctl daemon-reload

$ sudo systemctl start redis

$ sudo systemctl enable redis

使用YUM进行安装

  1. 更新YUM源:
    由于CentOS 7官方镜像已经被下单,官方的镜像地址mirrorlist.centos.org无法找到所需的文件,这里使用阿里云的镜像地址:
$ sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

在进行任何安装之前,首先要确保YUM源是最新的。运行以下命令来更新YUM源:

$ sudo yum update -y

如果不更改镜像地址,执行上面的命令会抛出如下错误:

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
  1. 添加EPEL和Remi Repository:
    Redis7不在CentOS 7的默认仓库中,因此需要添加EPEL(Extra Packages for Enterprise Linux)和Remi Repository。

安装EPEL:

$ sudo yum install epel-release -y

安装Remi repository:

$ sudo yum install -y https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm

启用Remi仓库:

$ sudo yum-config-manager --enable remi
  1. 安装Redis 7:
    使用YUM命令从Remi仓库中下载并安装Redis 7:
$ sudo yum install redis -y

配置文件默认位置在/etc/redis.conf。

  1. 启动Redis服务:
    安装完成后,启动Redis服务:
$ sudo systemctl start redis
  1. 设置Redis服务为开机启动:
    使用以下命令确保Redis在系统重启时自动启动:
$ sudo systemctl enable redis
  1. 验证Redis安装:
    使用以下命令检查Redis服务的状态:
$ sudo systemctl status redis

如果Redis服务正在运行,应能看到“active (running)”的状态。

redis.conf常用配置

开启守护进程模式:

daemonize yes

daemonize设置yes或者no区别:

  • yes:代表开启守护进程模式,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中。

  • no:启动将进入redis的命令行界面,exit或者关闭连接工具(putty,xshell等)都会导致redis进程退出。

bind配置项用于指定Redis服务器监听的IP地址,默认是使用的本地回环地址,也就是本地才能连接,可以注释掉这一行或者改为bind 0.0.0.0放开所有的外部网络访问。

#bind 127.0.0.1

bind 0.0.0.0

protected-mode用来限制对Redis服务器的访问。

protected-mode yes

外部想要访问redis服务,除了需要修改bind的IP地址,还需要满足以下两个条件之一:

  • protected-mode设置为no,将允许Redis接受来自任何网络接口的连接请求,只要这些接口被Redis监听。
  • protected-mode设置为yes,同时设置密码(requirepass)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/951870.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【如何从0到1设计测试用例使用Fiddler完成弱网测试】

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 ⭐⭐⭐测试用…

基础项目实战——贪吃蛇(c++)

目录 前言一、 游戏总体框架二、地图绘制三、光标隐藏四、地图定义五、蛇体定义六、蛇体绘制七、蛇体移动八、频率控制九、边界检测十、游戏失败十一、蛇体转向十二、食物生成十三、食物碰撞十四、整体代码十五、结语 前言 各位小伙伴们好久不见,前段时间非常的忙很…

排序:插入、选择、交换、归并排序

排序 :所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性 :假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,…

Windows service运行Django项目

系统:Windows Service 软件:nssm,nginx 配置Django项目 1、把Django项目的静态文件整理到staticfiles文件夹中 注:settings中的设置 STATIC_URL /static/ STATIC_ROOT os.path.join(BASE_DIR, staticfiles/) STATICFILES_DI…

comfyui精准作图之gligen

简介 在 Stable Diffusion(SD)中,GLIGEN 是一种用于增强文本到图像生成模型可控性的技术。它通过在现有的预训练扩散模型(如 Stable Diffusion)基础上,引入额外的定位输入(如边界框、关键点或参…

【学习资源】MBSE和工业软件

工业软件从业者,需要学习与应用MBSE方法论,解决复杂问题的有效手段。笔者做一个简单介绍。 1 什么是MBSE? MBSE(Model-Based Systems Engineering,基于模型的系统工程)是一种系统工程方法论,其…

ue5 蒙太奇,即上半身动画和下半身组合在一起,并使用。学习b站库得科技

本文核心 正常跑步动画端枪动画跑起来也端枪 正常跑步动画 端枪动画的上半身 跑起来也端枪 三步走: 第一步制作动画蒙太奇和插槽 第二步动画蓝图选择使用上半身动画还是全身动画,将上半身端枪和下半身走路结合 第三步使用动画蒙太奇 1.开始把&a…

【Docker】docker compose 安装 Redis Stack

注:整理不易,请不要吝啬你的赞和收藏。 前文 Redis Stack 什么是? 简单来说,Redis Stack 是增强版的 Redis ,它在传统的 Redis 数据库基础上增加了一些高级功能和模块,以支持更多的使用场景和需求。Redis…

视频转码对画质有影响吗?视频融合平台EasyCVR支持哪些转码格式?

视频转码过程是将视频文件从一种编码格式转换为另一种格式的过程,这一过程在现代数字媒体中扮演着至关重要的角色。众所周知,视频转码不仅仅是简单的格式转换,它涉及多个关键参数的改变,例如视频编码格式、比特率、分辨率以及帧率…

vscode开启调试模式,结合Delve调试器调试golang项目详细步骤

1.前期准备 (1).在vs code中的扩展程序中搜索并安装Go扩展程序 (2).安装 Delve 调试器 go install github.com/go-delve/delve/cmd/dlvlatest (3).打开vs code的命令面板,输入Go: Install/Update Tools,并单击该命令执行,安装或更新Go语…

springboot和vue配置https请求

项目场景: 代码发布到线上使用https请求需要配置ssl证书,前后端都需要修改。 问题描述 如图,我们在调用接口时报如下错误,这就是未配置ssl但是用https请求产生的问题。 解决方案: 前端:在vite.config.js文…

每日学习30分轻松掌握CursorAI:Cursor基础设置与配置

Cursor基础设置与配置 一、基础设置概览 1. 设置项分类表 设置类别主要功能重要程度语言设置界面及AI交互语言配置★★★★★快捷键配置自定义操作快捷键★★★★☆外观设置主题、字体、颜色方案★★★☆☆编辑器设置缩进、换行、代码风格★★★★☆AI功能设置AI响应灵敏度、…

设计模式(观察者模式)

设计模式(观察者模式) 第三章 设计模式之观察者模式 观察者模式介绍 观察者模式(Observer Design Pattern) 也被称为发布订阅模式 。模式定义:在对象之间定义一个一对多的依赖,当一个对象状态改变的时候…

QT 下拉菜单设置参数 起始端口/结束端口/线程数量 端口扫描4

上篇文章QT实现 端口扫描暂停和继续功能 3-CSDN博客 双击 添加对话框类 界面设计 由于主体代码已经写完,只需要更改参数的获取即可 获取起始端口结束端口的输入 槽函数 给主界面类添加调用对话框类的功能 实现功能:点击菜单项可以弹出对话框窗体 增加槽…

Unity自定义编辑器:基于枚举类型动态显示属性

1.参考链接 2.应用 target并设置多选编辑 添加[CanEditMultipleObjects] using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;[CustomEditor(typeof(LightsState))] [CanEditMultipleObjects] public class TestInspector :…

《代码随想录》Day31打卡!

《代码随想录》贪心算法:合并区间 本题的完整题目如下所示: 本题的完整思路如下所示: 1.本题依然是先对数组的左边界进行排序。将数组的第一个元素赋值给current。 2.遍历数组,判断current中的右边界和当前元素的左边界是否有重叠…

灵活运用事务回滚,快捷处理多张数据表格

各位编程宝子们(尤其是对MySQL了解不多的宝子们)在使用关系表处理时,有时候会希望简单一次性解决多张表的数据处理,但又有时候无从下手。其实有时候掌握数据的事务和回滚便可以简单解决这些事情,接下来我将以一个学生信…

Github提交Pull Request教程 Git基础扫盲(零基础易懂)

1 PR是什么? PR,全称Pull Request(拉取请求),是一种非常重要的协作机制,它是 Git 和 GitHub 等代码托管平台中常见的功能,被广泛用于参与社区贡献,从而促进项目的发展。 PR的整个过…

kvm 解决 安装windows 虚拟机cpu 核数问题

通过lscpu命令查到我本机的cpu信息如下 CPU(s): 12 —— 系统的总逻辑处理单元数量(包括所有核心和逻辑处理器)。Thread(s) per core: 2 —— 每个物理核心支持 2 个线程(表示启用了超线程技术)。Core(s) per socket: 6 —— 每个…

面向对象分析与设计Python版 面向对象分析方法

文章目录 前言一、名词法二、名词法-案例三、CRC卡片法四、分析模型法(了解) 前言 面向对象分析的目标:发现对象、定义对象之间的关系和属性。常用的面向对象分析方法有三种: 名词法CRC卡片法分析模型法 一、名词法 大型复杂系…