Linux安装部署 redis详细教程

2023-10-29

背景

  • Redis版本 6.0.1
  • 服务器版本 Linux CentOS 7.6 64位

一、下载

进入官网找到下载地址 https://redis.io/download
鼠标右击选择 复制链接地址

进入到Xshell控制台,进入usr/,输入wget,命令如下:

[root@bda usr]# cd usr/
[root@bda usr]# wget https://download.redis.io/releases/redis-6.0.10.tar.gz

二、解压

[root@bda usr]# tar -zvxf redis-6.0.10.tar.gz

1.解压后在根目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-6.0.10.tar.gz文件和 redis-6.0.10的目录。

2.一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-6.0.10文件夹更改目录,同时更改文件夹名称为redis。

[root@bda usr]# mv /usr/redis-6.0.10 /usr/local/redis
[root@bda usr]# cd local/

三、编译

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

[root@bda local]# cd redis/
[root@bda local]# make

如果输入make命令出现上图所示问题时,可能是gcc需要升级或安装:

1、安装gcc套装:

yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
2、升级gcc

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

3、设置永久升级:

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

4、重新make:

四、安装

[root@bda redis]# make PREFIX=/usr/local/redis install

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

五、启动

根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis

[root@bda redis]# ./bin/redis-server ./redis.conf

六、redis.conf配置文件

在目录/usr/local/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。

也可以通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。 如下:

[root@bda redis]# redis-cli

如出现 bash: redis-cli: 未找到命令
解决方法:

[root@localhost redis]# make install 
127.0.0.1:6379> CONFIG GET *

**修改配置文件:**这里我要将daemonize改为yes,同时也将#bind 127.0.0.1注释,将protected-mode设置为no。
这样启动后我就可以在外网访问了。

[root@bda redis]# vim /usr/local/redis/redis.conf


使用命令 /requirepass 快速查找到 # requirepass foobared 然后去掉注释,这个foobared改为自己的密码。也可以不加密码。

开机启动配置

echo "/usr/local/bin/redis-server /etc/redis/redis.conf &" >> /etc/rc.local

查看Redis是否正在运行,命令如下:

[root@bda redis]# ps -aux | grep redis
root     112410  0.0  0.0 162436  8140 pts/1    Sl   18:44   0:00 ./bin/redis-server *:6379
root     112467  0.0  0.0 112828   980 pts/1    R+   18:52   0:00 grep --color=auto redis

采取端口监听查看方式,命令如下:

[root@bda redis]# netstat -lanp | grep 6379

如果出现bash: netstat: 未找到命令

[root@localhost ~]# yum -y install net-tools   <!--安装依赖程序-->
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================
 Package           架构           版本                                源            大小
=========================================================================================
正在安装:
 net-tools         x86_64         2.0-0.25.20131004git.el7            base         306 k

事务概要
=========================================================================================
安装  1 软件包

总下载量:306 k
安装大小:917 k
Downloading packages:
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm                     | 306 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : net-tools-2.0-0.25.20131004git.el7.x86_64                            1/1 
  验证中      : net-tools-2.0-0.25.20131004git.el7.x86_64                            1/1 

已安装:
  net-tools.x86_64 0:2.0-0.25.20131004git.el7                                            

完毕!

依赖程序安装完成之后再次尝试失败的命令:

[root@bda redis]# netstat -lanp | grep 6379
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      113700/./bin/redis- 
tcp        0      0 192.168.1.206:6379      192.168.1.110:51409     ESTABLISHED 113700/./bin/redis- 
tcp        0      0 192.168.1.206:6379      192.168.1.110:51410     ESTABLISHED 113700/./bin/redis- 
tcp6       0      0 :::6379                 :::*                    LISTEN      113700/./bin/redis- 

通过redis连接工具进行测试,测试连接成功。

常用命令

/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf 启动客户端
/usr/local/redis/bin/redis-cli -a 密码 shutdown 2>/dev/null  #关闭客户端

参考文献:
https://blog.csdn.net/qq_44895681/article/details/105489206
https://www.cnblogs.com/hunanzp/p/12304622.html
https://www.cnblogs.com/peanut-zh/p/14049750.html
https://www.cnblogs.com/cjycjy/p/14147860.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux安装部署 redis详细教程 的相关文章

  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • 如何在特定的Java版本上运行应用程序?

    如何运行具有特定 Java 版本的应用程序 我安装了三个 Java 版本 myuser mysystem sudo update alternatives config java There are 3 choices for the al
  • 如何使用 go1.6.2 构建 linux 32 位

    有没有任何组合GOARCH and GOOS我可以设置哪些值来构建 ELF 32 位二进制文 件 GOOS linux and GOARCH 386 更多示例 架构 32 bit gt GOARCH 386 64 bit gt GOARCH
  • php_network_getaddresses: getaddrinfo 失败: 名称或服务未知 (0) 连接失败..!

    我正在使用 php 邮件程序功能 但出现以下错误 如何修复它 2016 01 22 06 15 48 SMTP 错误 无法连接到服务器 php network getaddresses getaddrinfo失败 名称或服务未知 0 连接失
  • 在用户程序中使用 或在驱动程序模块代码中使用 ...这有关系吗?

    我正在开发一个设备驱动程序模块和关联的用户库来处理ioctl 来电 该库获取相关信息并将其放入一个结构中 该结构被传递到驱动程序模块中并在那里解压 然后进行处理 我省略了很多步骤 但这就是总体思路 一些数据通过结构体传递ioctl is u
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec
  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 当在 python linux 中执行命令 os.system() 时,在 python 中给出响应 yes/no

    考虑一个像这样的命令 yum install boto 当我在终端中执行时 要继续 会询问我是 否 我可以像这样用 python 回应它吗 os system yum install boto Next Yes 将通过相同的 python
  • BeagleBone Black 如何用作大容量存储设备?

    是否可以使用 BB 作为大容量存储设备 我希望将其连接到可以从 USB 连接 例如 USB 闪存驱动器 读取文件的音频播放器并充当包含一个特定文件夹的数据存储设备 及其子文件夹 从文件系统 如果可能 在连接到开发板的闪存驱动器上 正如设备规
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • 用于 e NetworkManager VPN 连接的 dbus 信号处理程序

    我需要开发一些在建立 VPN 连接时执行的 python 代码 VPN 由 NetworkManager 控制 我试图弄清楚如何为此使用 NM DBUS 事件 使用 dbus monitor system 我能够识别连接信号 signal
  • 在 MacOS 上构建需要 net461 的 dotnet SDK 项目的最简单方法

    我有一个 dotnet SDK sln and a build proj with
  • 每个虚拟主机的错误日志?

    在一台运行 Apache 和 PHP 5 的 Linux 服务器上 我们有多个带有单独日志文件的虚拟主机 我们似乎无法分离 phperror log虚拟主机之间 覆盖此设置
  • 删除 Python 中某些操作的 root 权限

    在我的 Python 脚本中 我执行了一些需要 root 权限的操作 我还创建并写入文件 我不想由 root 独占所有 而是由运行我的脚本的用户独占所有 通常 我使用以下命令运行脚本sudo 有办法做到上述吗 您可以使用以下方式在 uid
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 在Linux中创建可执行文件

    我计划做的一件事是编写 非常简单的 Perl 脚本 并且我希望能够在不从终端显式调用 Perl 的情况下运行它们 我明白 要做到这一点 我需要授予他们执行权限 使用 chmod 执行此操作非常简单 但它似乎也是一个稍微费力的额外步骤 我想要
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015

随机推荐

  • 【Java核心】JDK、JRE、 JVM的联系与区别

    个人简介 Java领域新星创作者 阿里云技术博主 星级博主 专家博主 正在Java学习的路上摸爬滚打 记录学习的过程 个人主页 29 的博客 学习社区 进去逛一逛 JDK JRE JVM的联系与区别 1 简述 2 是什么 3 联系和区别 1
  • Element-UI Methods 如何调用

    现在用 Element UI 做上传文件的功能 需要调用 clearFiles 方法 但尝试了几次不行 查了好久终于明白了 1 先在el upload 加个 ref xx 2 然后把这个写在对应的事件方法里面 this refs xx cl
  • 高效 MacBook 工作环境配置

    高效 MacBook 工作环境配置 作者 正鹏 隃墨 来源 http www xialeizhou com p 71 工欲善其事 必先利其器 工具永远都是用来解决问题的 没必要为了工具而工具 一切工具都是为了能快速准确的完成工作和学习任务而
  • 微信小程序第一次提交审核之 用户隐私保护指引设置

    微信小程序第一次提交审核之 用户隐私保护指引设置 微信小程序新规 提交的时候需要填写这个 用户隐私保护指引设置 填写方式如下图 参考图片如下
  • 使用ajax请求提交数据时,日期类型无法转换为JAVA中的日期类型

    在做毕业项目时碰见日期类型无法传到后台controller中的问题 因为springMVC中没有提供默认的日期转换器 前端页面传过来的日期类字符串无法转换为java中的日期类型 使用 DatetimeFormat注解完成转换 做一个笔记 前
  • 【压力测试 2】JMeter压力测试之Internal server error 500 问题解决思路

    一 JMeter客户端实现有两种方式 1 Java 选择压测时 链接是复用的 代码中的http调用都加了连接池 2 httpclient4 压测时 每请求一次都创建一个新的链接 jmeter5 0以前默认关闭了连接复用 5 0上是打开的 即
  • Hive 计算用户留存率(次日,3日,N日)

    文章目录 什么是用户留存率 创建数据源 计算留存率 计算 N 日的留存率 什么是用户留存率 用户留存率是指在特定时间段内 用户在使用某个产品或应用程序后 再次使用该产品或应用程序的比例 它可以帮助公司了解用户是否喜欢他们的产品 并提供有价值
  • Unity 雨水滴到屏幕效果

    文章目录 前言 一 实现过程 1 代码 2 代码分步解析 总结 参考 前言 本文主要介绍用unity实现雨水滴到屏幕的效果 文章介绍的是基础实现 读完这篇文章再去实现复杂效果会更得心应手些 我们先看更高级效果的图片 一 实现过程 1 代码
  • 微信朋友圈点赞如何设计测试用例,微信发语音消息,购物车,支付页面如何设计软件测试用例?

    做过软件测试或者面试过的人应该了解这个问题你肯定被问过 属于面试必问 就算没遇到 预测你以后面试肯定会遇到 希望你能想到想到我分享的思路 那么如何轻松优雅的回答这个题目 我给大家分享一个万能公式 打遍天下无敌手的招式所以正在学习软件测试的小
  • Yolov7学习笔记(三)训练部分

    文章目录 导读 训练前期属性配置 权值平滑 开始训练 导读 按批将图片进行预测后 将结果与真实框进行loss计算 训练相对预测部分 多了损失函数的计算以及反向求导梯度下降 进而更新函数 训练前期属性配置 创建模型 model YoloBod
  • mysql传入乱码_mysql 插入中文乱码解决方案 --转了

    MySQL 4 1的字符集支持 Character Set Support 有两个方面 字符集 Character set 和排序方式 Collation 对于字符集的支持细化到四个层次 服务器 server 数据库 database 数据
  • 机器学习模型上线及优化流程

    机器学习模型上线及优化流程 时间 2020 07 09 文章目录 机器学习模型上线及优化流程 通用流程 1 业务问题界定和定义 2 数据样本的筛选和构造 3 label的定义与标注 4 选择机器学习算法 5 确定模型性能的度量方式 6 模型
  • 判断一个字符串是否全部由数字组成?

    代码实现如下 public class StringClassTest public static void main String args String str 123b56c7 if isAllNumber str System ou
  • FreeRTOS学习笔记—FreeRTOS 中断配置和临界段

    文章目录 一 Cortex M 中断 1 1 中断简介 1 2 优先级分组定义 二 用于中断屏蔽的特殊寄存器 2 1 PRIMASK 寄存器 2 2 FAULTMASK 寄存器 2 3 BASEPRI寄存器 三 临界段代码 3 1 任务级临
  • Photo Sphere Viewer 全景图

    Photo Sphere Viewer 一款基于 three js 的简易3D插件 方便 实用 友好 看到网上有些API有错误 所以自己写一个修正版的 该js插件可以360度旋转查看全景图 也可以上下180度查看图片 使用该插件的唯一要求是
  • 从巨石应用到微服务应用,从ESB到APIGateway,从前后端分离到中台出现,九九归一,Rest要一统天下?

    本文系作者本人原创 如需转载 请务必写明出处 谢谢 题目很长 想说的东西很多 一 IT的进化论 达尔文的进化论同样适用于IT世界 能大行其道的IT技术 确实是优胜劣汰 自然的选择 有人说J2EE想解决很多东西 可惜它不够人性 有人说 SOA
  • 贪吃蛇游戏

    C语言实现经典游戏贪吃蛇 吃到果实蛇的长度会变大 如果碰到墙壁或者果实就会gameover windows平台下实现 代码如下 gmae h pragma once pragma once include
  • 你真的知道GET和POST两种基本请求方法的区别吗?

    GET和POST是HTTP请求的两种基本方法 要说它们的区别 接触过WEB开发的人都能说出一二 最直观的区别就是GET把参数包含在URL中 POST通过request body传递参数 你可能自己写过无数个GET和POST请求 或者已经看过
  • java中参数传递详解:call by value(按值传递)和 call by reference(按引用传递)

    参数传递的一些知识 不全面部分望指点 call by value 按值传递 call by reference 按引用传递 特点 call by value 不改变值 即操作的是一个值的拷贝 所以原值不变 call by reference
  • Linux安装部署 redis详细教程

    背景 Redis版本 6 0 1 服务器版本 Linux CentOS 7 6 64位 一 下载 进入官网找到下载地址 https redis io download 鼠标右击选择 复制链接地址 进入到Xshell控制台 进入usr 输入w