Redis系列之基于Linux单机安装

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。最近学习需要用到Redis,所以就去Linux服务器上部署一个,做下记录,方便以后需要参考

实验环境

  • CentOS7
  • Xshell6
  • XFtp6
  • Redis6.2.2

安装gcc依赖

Redis是基于C语言编写的,所以编译是需要gcc依赖的。Redis6.x.x版本支持了多线程,需要gcc的版本大于4.9,但是Centos7默认的版本是4.8.5,所以需要升级gcc的版本。

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
# 在当前base激活gcc版本,临时
scl enable devtoolset-9 bash
# 永久激活gcc版本,使其生效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

确认gcc版本

gcc -v

下载解压文件

下载地址:http://download.redis.io/releases/redis-6.2.2.tar.gz

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

/usr/local目录下面新建一个redis文件夹,将压缩文件也放在这里

cd /usr/local
mkdir redis

解压压缩文件

tar -xzf redis-6.2.2.tar.gz

编译安装

/usr/local/redis/redis-6.2.2目录下面,编译安装

# 到对应目录
cd /usr/local/redis/redis-6.2.2
# 编译,需要先安装好gcc
make
# 如果编译有问题,可以清除之前的编译结果
make -C /usr/local/redis/redis-6.2.2 distclean
# 安装redis,PREFIX指定安装目录,会在对应目录生成一个bin目录
make PREFIX=/usr/local/redis install

安装成功后,会在对应目录生成一个bin目录,bin目录下面放redis启动相关的脚本

在这里插入图片描述

环境变量配置

vi /etc/profile

后面加上

export PATH=$PATH:/usr/local/redis/bin

使配置生效

source /etc/profile

which校验环境变量是否设置成功

[root@localhost redis-6.2.2]# which redis-server
/usr/local/redis/bin/redis-server

设置开机启动

编辑配置文件

# 到redis-6.2.2目录
cd /usr/local/redis/redis-6.2.2
# 复制一份配置文件到对应目录
cp redis.conf /usr/local/redis/config/redis.conf
# 到这个目录
cd /usr/local/redis/config
# 编辑配置文件
vi redis.conf

修改redis.conf,使redis可以支持后台运行,设置好之后按ESC退出,输入:wq!保存退出

# 设置redis启动在后台运行
daemonize yes

上面的设置是为了方便redis开机启动,下面设置一下redis开机启动

# 到对应目录
cd /usr/local/redis/redis-6.2.2
# 复制redis初始化脚本到init.d启动目录
cp utils/redis_init_script /etc/init.d/redis
# 添加执行权限
chmod +x /etc/rc.d/init.d/redis
# 修改启动文件
cd /etc/init.d & vi redis

修改EXECCLIEXECCONF这3个参数,分别表示redis-server位置,redis-cli位置和redis.conf的位置

在这里插入图片描述

设置redis开机启动命令

chkconfig redis on

校验是否配置成功

chkconfig --list

在这里插入图片描述

可以使用reboot重启linux系统,ps -elf|grep redis查看redis是否可以开机启动

在这里插入图片描述

设置redis允许远程访问

允许Redis远程访问,需要对前面说到的redis.conf进行配置,vi /usr/local/redis/config/redis.conf,先将protected-mode这个参数对应的值改为no,然后注释bind 127.0.0.1,注释127.0.0.1是允许所有的IP访问,当然生产不可以直接设置

# 注释这行
bind 127.0.0.1
# 允许外部网络直接访问,设置protected-mode为no
protected-mode no

开放防火墙端口

# 防火墙开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重启防火墙
firewall-cmd --reload

redis启动

启动服务端

redis-server /usr/local/redis/config/redis.conf

启动客户端

redis-cli -p 6379

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

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

相关文章

【网站项目】数学辅导微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

Ollama、FastGPT大模型RAG结合使用案例

参考: https://ollama.com/download/linux https://doc.fastai.site/docs/intro/ https://blog.csdn.net/m0_71142057/article/details/136738997 https://doc.fastgpt.run/docs/development/custom-models/m3e/ Ollama作为后端大模型加载运行 FastGPT作为前端页面聊天集成RA…

『FPGA通信接口』汇总目录

Welcome 大家好,欢迎来到瑾芳玉洁的博客! 😑励志开源分享诗和代码,三餐却无汤,顿顿都被噎。 😭有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩,不出意外被敷衍、被唾弃、被埋在了垃圾堆。…

【IR-SDE】Image Restoration SDE项目演示运行app.py

背景: code:GitHub - Algolzw/image-restoration-sde: Image Restoration with Mean-Reverting Stochastic Differential Equations, ICML 2023. Winning solution of the NTIRE 2023 Image Shadow Removal Challenge. paper: Official PyTorch Implementations o…

ppt技巧:如何将Word文档大纲中导入到幻灯片中?

在PowerPoint中,将Word文档的大纲导入到新的幻灯片是一种非常实用的技巧。以下是详细的步骤: 首先,需要打开PowerPoint软件并打开原始的幻灯片文件。 在PowerPoint的顶部【开始】菜单栏中,找到并点击“新建幻灯片”按钮&#xff0…

最新常见的图数据库对比,选型,架构,性能对比

图数据库排名 地址:https://db-engines.com/en/ranking/graphdbms 知识图谱查询语言 SPARQL、Cypher、Gremlin、PGQL 和 G-CORE 语法 / 语义 / 特性SPARQLCypherGremlinPGQLG-CORE图模式匹配查询语法CGPCGPCGP(无可选)1CGPCGP语义子图同态、包 2无重复边、包 2子…

Django Rest Framework的序列化和反序列化

DRF的序列化和反序列化 目录 DRF的序列化和反序列化Django传统序列化Django传统反序列化安装DRF序列化器serializers序列化反序列化反序列化保存instance和data CBV和APIView执行流程源码解析CBV源码分析APIView源码分析 DRF的Request解析魔法方法__getattr__ 什么是序列化&…

动力学-坐标系

文章目录 1 转动坐标系2 运动坐标系3 刚体运动参数• 拉格朗日建立机器人动力学方程需用齐次变换矩阵,计算效率低。优点是可以写成状态方程的形式,便于运用控制方法。 • 牛顿—欧拉动力学方程可得到一组正向和反向递推方程,显著优点是可把驱动力矩的计算时间缩短到可实时控…

物联网实战--驱动篇之(五)TEA和AES加密算法

目录 一、前言 二、TEA算法 三、AES算法 四、加解密测试 五、安全性保障 一、前言 物联网的安全性是经常被提及的一个点,如果你的设备之间通讯没有加密的话,那么攻击者很容易就能获取并解析出报文的协议,从而根据攻击者的需要进行设备操…

Redis--16--Spring Data Redis

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Spring Data Redishttps://spring.io/projects/spring-data-redis 1.依赖2.RedisTemplate3.案例 序列化1.默认是 JdkSerializationRedisSerializer2.添加Redis配置文…

JRT多平台初始化程序

这么多年客户端一直只做Windows,所以初始化程序用C#写个Exe,按网站生成的下载清单文件一个个下载和部署客户端环境是可以的。新的由于设计目标就是支持多平台的,所以需要重新考虑初始化设计。 介绍和演示视频 设计目标有以下: 1…

软件开发安全备受重视,浙江某运营商引入CWASP认证课程,

​浙江省某大型运营商是一家实力雄厚、服务优质的通信运营商,致力于为全省用户提供优质、高效的通信服务。数字时代,该运营商顺应信息能量融合发展趋势,系统打造以5G、算力网络、能力中台为重点的新型信息基础设施,夯实产业转型升…

idea keymap用eclipse的相关快捷键

idea快捷键用eclipse的方式 CtrlShiftR 搜索文件 shiftshift 全部文件/类搜索 CtrlH 全局搜索 CtrlO 快速打开Outline大纲视图 ctrle 查看recent窗口文件 ctrlt 快速进入接口的实现类 ctrlshiftf 格式化代码 altshiftr 变量或函数的重命名 ctrlshifto 移除无用的头文…

C/C++内存泄漏及检测

“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用…

【LeetCode】二叉树类题目详解

二叉树 二叉树的理论基础 二叉树是结点的度数之和不超过2的树,二叉树总共有五种基本形态 二叉树的种类主要有: 满二叉树完全二叉树 二叉树的存储方式 顺序存储链式存储 二叉树的遍历方式 先序遍历(深度优先搜索)中序遍历&…

Python单元测试pytest捕获日志输出

使用pytest进行单元测试时,遇到了需要测试日志输出的情况,查看了文档 https://docs.pytest.org/en/latest/how-to/capture-stdout-stderr.html https://docs.pytest.org/en/latest/how-to/logging.html 然后试了一下,捕捉logger.info可以用…

微信小程序 uniapp+vue.js医疗在线问诊挂号系统4oy17

预约挂号系统的逐渐发展,进一步方便了广大用户,使其可以更方便、快捷地预约挂号,并且也有效地防止号贩子“倒号”,使用户预约挂号更公平,然而现有预约挂号系统或多或少有所欠缺 小程序前端框架:uniapp 小程…

7、configMap

1、configMap是什么 类似与pod的配置中心,不会因为pod的创建销毁,相关配置发生改变 pod定义硬编码意味着需要有效区分⽣产环境与开发过程中的pod 定义。为了能在多个环境下复⽤pod的定义,需要将配置从pod定义描 述中解耦出来。 2、向容器中…

python-study-day2

pycharm注释(也可修改) 快捷键ctrl /手敲一个 " # " 这个是单行注释""" """ 左边这个三个引号可以完成多行注释 基础知识 常用的数据类型 def hello(self):print("Hello")print(type(1)) print(type("1"…

Unity Standalone File Browser,Unity打开文件选择器

Unity Standalone File Browser,Unity打开文件选择器 下载地址:GitHub链接: https://github.com/gkngkc/UnityStandaloneFileBrowser简单的示例代码 using SFB; using System; using System.IO; using UnityEngine; using UnityEngine.UI;…