Linux 安装 Redis 教程

优质博文:IT-BLOG-CN

一、准备工作

配置gcc:安装Redis前需要配置gcc

yum install gcc

如果配置gcc出现依赖包问题,在安装时提示需要的依赖包版本和本地版本不一致,本地版本过高,出现如下问题:

[root@localhost ~] yum install gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* epel: mirrors.bfsu.edu.cn* extras: mirros.aliyun.com* updates: mirros.aliyun.comNo package gcc available.Error: Nothing to do

使用--skip--broken命令尝试绕过依赖包时,直接把gcc安装包也绕过了

卸载依赖包重装版本的方法过于繁琐,可能扯出来一堆版本问题。这种问题原因是之前配置yum源时配置的阿里源所以下载的大多数依赖包版本都比较高,在安装很多较低版本软件时都会遇到这个问题。

所以,如果是因为配置yum源问题,这里建议直接将yum源更换为Centos官方源。这里我的Centos版本是7.9 到官方找了镜像地址为:http://mirror.centos.org/centos-7/7.9.2009/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm

操作步骤:
1、进入repo目录

cd /etc/yum.repos.d/

2、备份系统原来的repo文件

mv CentOS-Base.repo CentOS-Base.repo.backup

3、用wget下载repo文件

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

4、替换系统原理的repo文件

mv CentOS6-Base-163.repo CentOS-Base.repo

5、清理缓存

yum clean all

6、缓存文件

yum makecache

7、重新更新yum

yum update -y

二、Redis 安装包

Redis官网链接
在这里插入图片描述
获取redis资源:或者手动下载后进行上传即可。

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

Redis 6.2.11官网下载链接

解压redis安装包到/usr/local路径下:

tar -zxvf redis-5.0.7.tar.gz -C /usr/local

解压成功后将文件夹名修改为redis

mv redis-5.0.7 redis

三、安装 Redis

编译: 进入到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。

cd redis-5.0.7
make

安装: 输入以下命令

make install PREFIX=/usr/local/redis

这里多了一个关键字PREFIX=这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis即可删除redis

启动Redis: 进入redis安装目录,执行下面命令启动redis服务

./bin/redis-server redis.conf

在这里插入图片描述

四、配置 Redis服务

【1】如上启动redis不能退出控制台,如果退出控制台redis服务也会停止。如果想要让redis后台的方式运行,需要修改redis的配置文件:redis.conf。将该配置文件中的daemonize no改为 daemonize yes即可:

daemonize yes

修改完配置文件后,重新启动一下redis服务

./bin/redis-server redis.conf

【2】查看redis服务器运行情况:端口号6379

netstat -tunlp | grep redis

在这里插入图片描述
【3】如果需要在其他主机连接redis,记得要修改redis.conf配置文件,增加一行bind * -::* ,即配置了允许所有主机连接。
在这里插入图片描述
修改完后记得重启redis服务使配置文件生效。

【4】进入redis客户端模式:

./bin/redis-cli

关闭redis客户端模式

shutdown

【5】通过CONFIG GET *的方式读取所有配置项。这里列举下比较重要的配置项

配置项名称配置项值范围说明
daemonizeyes、noyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port指定Redis监听端口,默认端口为6379
bind绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind *即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-modeyes 、no保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no
timeout300当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
logleveldebug、verbose、notice、warning日志级别,默认为notice
databases16设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为yesRedis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilenamedump.rdb指定本地数据库文件名,默认值为dump.rdb
dir指定本地数据库存放目录
requirepass设置 Redis 连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
maxclients0设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息。
maxmemoryXXX 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把 Key 存放内存,Value会存放在swap区。配置项值范围列里XXX为数值。

【6】将redis加入到开机启动

vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)

【7】将redis-cliredis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用

cp /usr/local/redis/bin/redis-server /usr/local/bin/
cp /usr/local/redis/bin/redis-cli /usr/local/bin/

【8】设置redis密码

a.运行命令:redis-cli
b.查看现有的redis密码(可选操作,可以没有)运行命令:config get requirepass 如果没有设置过密码的话运行结果会如下图所示
c.设置redis密码运行命令:config set requirepass ****(****为你要设置的密码),设置成功的话会返回‘OK’字样
d.测试连接重启redis服务//(redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你设置的密码))输入 redis-cli 进入命令模式,使用 auth '*****' (****为你设置的密码)登陆      

【9】让外网能够访问redis

a.配置防火墙:  **firewall-cmd --zone=public --add-port=6379/tcp --permanent**(开放**6379**端口)**systemctl restart firewalld**(重启防火墙以使配置即时生效)查看系统所有开放的端口:firewall-cmd --zone=public --list-portsb.此时 虽然防火墙开放了6379端口,但是外网还是无法访问的,因为redis监听的是127.0.0.1:6379,并不监听外网的请求。(一)把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1前面加#注释掉(二)命令:redis-cli连接到redis后,通过 config get  daemonize和config get  protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no。

【10】Linux系统下设置redis的密码:
1、进入redis操作的命令行:

redis-cli

2、查看现有的redis密码(可选操作,可以没有)

config get requirepass

3、设置redis密码

config set requirepass ****(****为你要设置的密码),设置成功的话会返回‘OK’字样

4、重启redis服务:ctrl+C退出当前的命令行模式后运行命令:

redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你心设置的密码)

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

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

相关文章

Windows 11 安装 安卓子系统 (WSA)

How to Install Windows Subsystem for Android (WSA) on Windows 11 新手教程&#xff1a;如何安装Windows 11 安卓子系统 说明 Windows Subsystem for Android 或 WSA 是由 Hyper-V 提供支持的虚拟机&#xff0c;可在 Windows 11 操作系统上运行 Android 应用程序。虽然它需…

python基础_类

在Python中&#xff0c;类&#xff08;Class&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心概念之一。类提供了一种创建新对象的模板&#xff0c;这些对象通常被称为类的实例或对象。以下是关于Python类的一些关键点和特性&#xff1a; 定义类 类通过class关键…

ctfshow-web入门-命令执行(web71-web74)

目录 1、web71 2、web72 3、web73 4、web74 1、web71 像上一题那样扫描但是输出全是问号 查看提示&#xff1a;我们可以结合 exit() 函数执行php代码让后面的匹配缓冲区不执行直接退出。 payload&#xff1a; cvar_export(scandir(/));exit(); 同理读取 flag.txt cinclud…

文华财经博易大师盘立方多空波段止损画线指标公式

TT:PERIOD7; EMA120:EMA(C,120); RSV:(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:SMA(RSV,3,1); D:SMA(K,3,1); J:3*K-2*D; DRAWTEXT(TT&&J<0,L,多),VALIGN0; DRAWTEXT(TT&&J>100,H,空),VALIGN2; IF(TT,EMA(C,60),NULL),RGB(255,255,2…

JavaScript数组对象 , 正则对象 , String对象以及自定义对象介绍

1. Array数组对象 数组对象是使用单独的变量名来存储一系列的值。 1.1创建一个数组 创建一个数组&#xff0c;有三种方法。 【1】常规方式: let 数组名 new Array();【2】简洁方式: 推荐使用 let 数组名 new Array(数值1,数值2,...);【3】字面:在js中创建数组使用中括号…

试用笔记之-收钱吧安卓版演示源代码,收钱吧手机版感受

首先下载&#xff1a; https://download.csdn.net/download/tjsoft/89499105 安卓手机安装 如果有收钱吧帐号输入收钱吧帐号和密码。 如果没有收钱吧帐号点我的注册 登录收钱吧帐号后就可以把手机当成收钱吧POS机用了&#xff0c;还可以扫客服的付款码哦 源代码技术交流QQ:42…

U盘数据恢复实战指南:原因、方案与预防措施

一、引言&#xff1a;U盘数据恢复概述 在数字化时代&#xff0c;U盘作为一种便携式存储设备&#xff0c;广泛应用于个人和企业中。然而&#xff0c;由于各种原因&#xff0c;U盘数据丢失的问题时有发生。U盘数据恢复技术便是在这种情况下应运而生&#xff0c;它帮助用户在数据…

TPS61085非同步650kHz,1.2MHz, 18.5V升压DCDC芯片

1 特点 TPS61085外观和丝印PMKI 2.3 V 至 6 V 输入电压范围 具有 2.0A 开关电流的 18.5V 升压转换器 650kHz/1.2MHz 可选开关频率 可调软启动 热关断 欠压闭锁 8引脚VSSOP封装 8引脚TSSOP封装 2 应用 手持设备 GPS接收器 数码相机 便携式应用 DSL调制解调器 PCMCIA卡 TFT LCD…

Java并发编程基础知识点

目录 Java并发编程基础知识点1、线程&#xff0c;进程概念及二者的关系进程相关概念线程相关概念进程与线程的关系补充小知识点&#xff1a; 2、线程的状态Java线程的状态&#xff1a;Java线程不同状态之间的切换图示 3、Java程序中如何创建线程&#xff1f;①、继承Thread类②…

【漏洞复现】用友NC——文件上传漏洞

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 用友NC是由用友公司开发的一套面向大型企业和集团型企业的管理软…

C语言 | Leetcode C语言题解之第207题课程表

题目&#xff1a; 题解&#xff1a; bool canFinish(int numCourses, int** prerequisites, int prerequisitesSize, int* prerequisitesColSize) {int** edges (int**)malloc(sizeof(int*) * numCourses);for (int i 0; i < numCourses; i) {edges[i] (int*)malloc(0);…

【Linux】部署NFS服务实现数据共享

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…

4-数据提取方法2(xpath和lxml)(6节课学会爬虫)

4-数据提取方法2&#xff08;xpath和lxml&#xff09;&#xff08;6节课学会爬虫&#xff09; 1&#xff0c;Xpath语法&#xff1a;&#xff08;1&#xff09;选择节点&#xff08;标签&#xff09;&#xff08;2&#xff09;“//”:能从任意节点开始选择&#xff08;3&#xf…

计算机网络面试TCP篇之TCP三次握手与四次挥手

TCP 三次握手与四次挥手面试题 任 TCP 虐我千百遍&#xff0c;我仍待 TCP 如初恋。 巨巨巨巨长的提纲&#xff0c;发车&#xff01;发车&#xff01; PS&#xff1a;本次文章不涉及 TCP 流量控制、拥塞控制、可靠性传输等方面知识&#xff0c;这些知识在这篇&#xff1a; TCP …

第3章:数据结构

树 对稀疏矩阵的压缩方法有三种&#xff1a; 1、三元组顺序表 2、行逻辑连接的顺序表 3、十字链表 同义词才会占用同个位置&#xff0c;从而需要进行多次比较。这些关键字的第一个可以不是e的同义词&#xff0c;可以是排在e之前的关键字正好占了那个位置。 Dijkstra算法主要特点…

jenkins 发布服务到 windows服务器

1.环境准备 1.1 这些就不过多描述了&#xff0c;可以参考我的另一盘文章部署到linux。 jenkins 发布服务到linux服务器-CSDN博客 1.2 需要再windows上安装openssh 地址&#xff1a;Releases PowerShell/Win32-OpenSSH GitHub 到windows上执行安装&#xff0c;可以里面cmd命令…

Java的限制序列化和常用IO流

一.限制序列化 a.问题 出于安全考虑&#xff0c;对于一些比较敏感的信息(如用户密码)&#xff0c;应限制被序列化&#xff0c;如何实现? ◆使用transient关键字修改不需要序列化的对象属性 b.示例 ◆希望Person类对象中的年龄信息不被序列化 二.Java常用IO流有哪些&#x…

人脸特征68点识别 C++

1、加载一张图片 main函数&#xff1a; cv::Mat img cv::imread("5.jpg");vector<Point2f> points_vec dectectFace68(img);2、人脸68特征识别函数 在这里vector<Point2f> dectectFace68(Mat src) {vector<Point2f> points_vec;int* pResults …

【SpringCloud】Eureka源码解析 上

Eureka是一个服务发现与注册组件&#xff0c;它包含服务端和客户端&#xff0c;服务端管理服务的注册信息&#xff0c;客户端简化服务实例与服务端的交互。我们结合源码来分析下eureka组件的实现原理&#xff0c;内容分为上下两章&#xff0c;第一章分析eureka的服务注册&#…

ubuntu apt命令 出现红色弹框 Daemons using outdated libraries

1. 弹框没截图&#xff0c;是因为ubuntu22.04一个新特性导致的&#xff0c;由 needrestart 命令触发&#xff0c;默认情况是交互性质的&#xff0c;也就是会中断在这里需要手动要处理提示。 2. 修改/etc/needrestart/needrestart.conf 文件&#xff0c;将 #$nrconf{restart} …