基于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_profile

PATH=$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/tcp

firewall-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,搞定!

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

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

相关文章

【实战分享】雷池社区版助力构建高可用、安全的Web应用架构

引言 在日益复杂的网络环境中,构建坚不可摧的安全防线成为每一位网站守护者的重要使命。本文将深入剖析一套集CDN加速、高效Nginx代理与雷池WAF深度防护于一体的现代网站安全架构设计,特别强调雷池WAF在此架构中的核心作用及其对整体安全性的提升策略。…

Linux中部署MySQL环境(本地安装)

进入官网:http://www.mysql.com 选择社区版本得到MySQL 选择对应的版本和系统进行安装 用wget进行软件包下载 wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar解压该软件包 tar -xf mysql-8.0.32-1.el9.x86_64.rpm-bu…

一键转换PDL至HTML,轻松驾驭文档格式,高效办公新纪元从此开启!

在信息爆炸的时代,文档格式繁多,如何高效处理这些文档成为了每个职场人士关注的焦点。现在,我们为您带来一款革命性的工具——一键转换PDL至HTML,让您轻松驾驭文档格式,开启高效办公新纪元! 首先&#xff0…

Web Scraper抓取+pycharm分析淘宝商品

1、爬取淘宝商品前十页 下载的文件存放位置 2、导入项目编程需要使用到的Python库 copy: 用于创建对象的浅复制或深复制matplotlib 和 matplotlib.pyplot: 这两个库是Python中最常用的绘图库,用于生成各种静态、动态、交互式的图表和图形。numpy: 提供了强大的多维数…

基于YOLOv5的火灾检测系统的设计与实现

基于YOLOv5的火灾检测系统的设计与实现 概述系统架构主要组件代码结构功能描述YOLOv5检测器视频处理器主窗口 详细代码说明YOLOv5检测器类视频处理类主窗口类 使用说明环境配置运行程序操作步骤 检测示例图像检测视频检测实时检测 数据集介绍数据集获取数据集规模 YOLOv5模型介…

免费在线pdf处理工具:pdf文件压缩;pdf文件转word

1、pdf文件压缩 https://www.ilovepdf.com/zh-cn/compress_pdf 2、pdf文件转word https://www.xiaoyuanxiang.cn/pdf2word 效果还可以,只支持10M大小文件 https://www.pdf2go.com/zh/result#j23ff879c-49c5-4723-8038-dd6e3eefe601 https://huggingface.co/spa…

原生Hadoop3.X高可用配置方式

Hadoop3.X版本,在2017年左右就有了第一个alpha版本,但是那个时候刚出来,所以没有人使用,到2018年3.0.0版本作为第一个3,X正式发布,截止当前本文书写时间,3.X版本已经发展到了3.4,在H…

超级干货 !数据平滑9大妙招(python版)_python指数平滑预测案例

大家好,对数据进行平滑处理的方法有很多种,具体的选择取决于数据的性质和处理的目的。如果你对Python感兴趣,想要学习pyhton,这里给大家分享一份**Python全套学习资料**,都是我自己学习时整理的,希望可以帮…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-28批量规范化

28批量规范化 """可持续加速深层网络的收敛速度""" import torch from torch import nn import liliPytorch as lp import matplotlib.pyplot as pltdef batch_norm(X, gamma, beta, moving_mean, moving_var, eps, momentum):""&quo…

【LeetCode刷题】232.用栈实现队列

目录 题目链接 图解思路 整体结构 实现过程 入队列 出队列 实现代码 MyQueue.h MyQueue.c stack.h stack.c test.c 题目链接 232. 用栈实现队列 - 力扣(LeetCode) 图解思路 整体结构 实现过程 入队列 插入数据时,插入到ist。…

拦截器Interceptor

概念:是一种动态拦截方法调用的机制,类似于过滤器。Spring框架中提供的,用来动态拦截方法的执行。 作用:拦截请求,在指定的方法调用前后,根据业务需要执行预先设定的代码。

C++实现自动生成c++类中的属性的get和set方法

目录 应用场景 运行准备 代码展示 结果显示 应用场景 当我们在编写类的属性时,需要对该属性进行封装,需要一系列的get和set的方法。例如下面是天气类的成员属性。可以看到属性很多,而写get和set都是一些固定的操作,因此可以直…

stata17中java installation not found或java not recognozed的问题

此问题在于stata不知道去哪里找java,因此需要手动的告诉他 方法1: 1.你得保证已经安装并配置好java环境 2.在stata中输入以下内容并重启stata即可 set java_home "D:\Develope\JDk17" 其中java_home后面的""里面的内容是你的jdk安装路径 我的…

由 Vault 支持的 KES 的 MinIO Operator

为了提供安全锁定和擦除的合规性功能,MinIO 使用服务器端加密 (SSE) 在存储层加密对象,以保护对象作为写入操作的一部分。MinIO 以极高的效率做到这一点——基准测试表明 MinIO 能够以接近线速进行加密/解密。 MinIO 使用的秘诀是…

Linux htop命令使用

文章目录 简介界面介绍第一行第二行第三行第四行 如何使用 简介 htop 是一个类似于 top 的命令,但具有更丰富的功能和更友好的界面。它可以实时显示系统中各个进程的资源占用情况,如 CPU 使用率、内存使用率等。以下是对 htop 命令的完全解析&#xff1…

vscode插件path-intellisense失效原因

很可能是因为设置中的自动补全部分除了问题。 问题 作者自身是因为使用了copilot之后,感觉vscod自带的自动补全(设置里面叫"建议",或者inttelisense)就没必要了,然后一通改设置把建议关掉之后发现插件path-intellisense也不能用了…

【C语言】函数指针数组和指向函数指针数组的指针

1 函数指针数组 数组是一个存放相同类型数据的存储空间,那我们已经学习了指针数组。 比如: int *arr[10];//数组的每个元素是int* 那要把函数的地址存到一个数组中,那这个数组就叫函数指针数组,那函数指针的数组如何定义呢&am…

【经验分享】RT600 serial boot mode测试

【经验分享】RT600 serial boot mode测试 一, 文档描述二, Serial boot mode测试2.1 evkmimxrt685_gpio_led_output 工程测试2.2 evkmimxrt685_dsp_hello_world_usart_cm33工程测试 一, 文档描述 RT600的启动模式共支持4种: 1&am…

svm和决策树基本知识以及模型评价以及模型保存

svm和决策树基本知识以及模型评价以及模型保存 文章目录 一、SVM1.1,常用属性函数 二、决策树2.1,常用属性函数2.2,决策树可视化2.3,决策树解释 3,模型评价3.1,方面一(评价指标)3.2&…

MatLab手把手搭建FOC控制环路(全部使用matlab自带模块)

MatLab手把手搭建FOC控制环路(全部使用matlab自带模块) Matlab添加模块只需要在空白处双击鼠标左键,输入模块的名字。 添加PMSM模块: Permanent Magnet Synchronous Machine 参数选择: 添加逆变器Two-Level Conver…