redis7.0编译安装 + bash安装脚本

以下操作在debian11下演示,ubuntu通用,其它系列linux自行安装依赖,其余一样
以7.0.12版本为例进行安装
最后的bash脚本是对前面的操作的封装,一键即配置完成,即可使用

一、编译安装

1.安装依赖

apt-get install build-essential autoconf automake

2.下载

官方下载页面

cd /usr/local

如果下载不下来,建议用迅雷这类工具下载后上传到服务器

wget https://github.com/redis/redis/archive/7.0.12.tar.gz

3.解压

tar -zxvf /usr/local/redis-7.0.12.tar.gz

4.编译安装

cd redis-7.0.12

安装到/usr/local/redis

make && make install

5.配置文件

配置文件在源码包里面

mkdir /etc/redis
cp /usr/local/redis-7.0.12/redis.conf /etc/redis/redis.conf

测试运行,ctrl+c取消

/usr/local/bin/redis-server /etc/redis/redis.conf

6.修改配置文件

vi /etc/redis/redis.conf

守护模式开启
找到daemonize no,修改为daemonize yes

修改安全设置
requirepass xxx:设定密码访问
bing 127.0.0.1:绑定的ip,在保护模式开启的情况下,只有绑定的ip才可以访问redis服务,建议注释掉,否则外部的设备无法访问。
protected-mode yes:保护模式,如果为yes,绑定的ip或输入密码才能访问
port:redis服务端口号,默认是6379,如果需要修改redis的访问端口,就通过修改该值实现

7.systemctl脚本管理

vi /usr/lib/systemd/system/redis.service

内容如下

[Unit]
Description=redis
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

保存:wq

依次执行下面的命令

systemctl daemon-reload
systemctl start redis
systemctl enable redis
systemctl status redis

8.远程连接

使用redisinsight连接,不写账号,只写上面设定的密码即可
如果后期优化,可以设定账号密码,这里不再涉及

二、编译安装的一键脚本

1.创建脚本文件

vi /usr/local/redis7.sh

2.编辑

可能会卡在下载redis源码包上,可以注释掉wget这一行,然后上传其它地方下载的上传到/usr/local

#!/bin/bash# 常量设置
redis_version="7.0.12" # redis版本
install_path="/usr/local" # 安装、操作目录# 输入redis密码,如果为空则没有
read -p -"请输入一个redis密码:" redis_password# 安装依赖
echo "......正在安装依赖......"
apt-get install -y build-essential autoconf automake
echo "......依赖安装完成......"# 下载redis源码包
echo "......正在下载源码包......"
wget -P ${install_path} https://github.com/redis/redis/archive/7.0.12.tar.gz 
echo "......源码包下载完成......"# 解压缩
echo "......正在解压缩源码包......"
cd ${install_path}
tar -zxf ${install_path}/redis-${redis_version}.tar.gz
echo "......源码包解压缩完成......"# 编译安装
echo "......正在编译安装......"
cd ${install_path}/redis-${redis_version} && make && make install
echo "......编译安装完成......"# 配置文件
echo "......正在修改配置文件......"
## 创建配置文件
mkdir /etc/redis
cp ${install_path}/redis-${redis_version}/redis.conf /etc/redis/redis.conf
## 修改配置文件(/etc/redis/redis.conf)
sed -i 's/daemonize no/daemonize yes/g' /etc/redis/redis.conf
## 修改默认密码,如果为空则开启所有ip都可以访问,如果不为空则使用密码访问
if [ ${#redis_password} -eq 0 ];
thenecho "未输入密码,开启所有IP都能访问"sed -i 's/bind 127.0.0.1 -::1/# bind 127.0.0.1 -::1/g' /etc/redis/redis.confsed -i 's/protected-mode yes/protected-mode no/g' /etc/redis/redis.conf
elseecho "已设定密码"sed -i 's/bind 127.0.0.1 -::1/# bind 127.0.0.1 -::1/g' /etc/redis/redis.confsed -i 's/# requirepass foobared/requirepass '"${redis_password}"'/g' /etc/redis/redis.conf
fi## 持久化设定echo "......修改配置文件完成......"# 配置systemctl脚本
echo "......正在配置systemctl脚本......"echo "......正在配置systemctl脚本......"
cat>/usr/lib/systemd/system/redis.service<<EOF
[Unit]
Description=redis
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload
systemctl start redis
systemctl enable redis
systemctl status redisecho "......systemctl脚本配置完成......"
echo "......!!!脚本运行完成!!!......"

3.运行

sh /usr/local/redis7.sh

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

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

相关文章

Appium+python自动化(十二)- Android UIAutomator终极定位凶器(超详解)

简介 乍眼一看&#xff0c;小伙伴们觉得这部分其实在异性兄弟那里就做过介绍和分享了&#xff0c;其实不然&#xff0c;上次介绍和分享的大哥是uiautomatorviewer&#xff0c;是一款定位工具。今天介绍的是一个java库&#xff0c;提供执行自动化测试的各种API。 Android团队在4…

数据结构(王道)——数据结构之 二叉树

一、数据结构之 二叉树概念&#xff1a; 特殊的二叉树结构&#xff1a; 满二叉树完全二叉树 二叉排序树 平衡二叉树 二叉树基本概念总结&#xff1a; 二、二叉树的常用性质&#xff1a; 1、【二叉树】的叶子结点比二分支结点多一个 2、【m叉树】的第i层至多有m^(i-1)个结点 3、…

关于Qt For android第一次编译时出现的问题

搞了三四天&#xff0c;搞的快崩溃了&#xff0c;问题提示为 FAILURE: Build failed with an exception.* What went wrong: A problem occurred configuring root project android-build. > Could not resolve all artifacts for configuration :classpath.> Could not…

pytorch 2.0初探:和pytorch 1.13的速度对比

看到pytorch2.0出来了&#xff0c;而且宣传提速明显&#xff0c;一行代码即可提速43%左右&#xff1a; compiled_model torch.compile(model) We then measure speedups and validate accuracy across these models. Since speedups can be dependent on data-type, we measu…

真正的理解WPF中的TemplatedParent

童鞋们在WPF中经常看到 TemplatedParent ,或者经常看到下面的用法: {Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content} 是不是看的一脸蒙圈? 先看官方文档: 意思是 和这个控件的 模板上的 父亲,如果这个控件不是模板创建的,那么这个值就…

CSS 渐变边框及动画

转载请注明出处&#xff0c;点击此处 查看更多精彩内容 用 CSS 实现渐变边框及动画&#xff0c;下面对关键点进行解释说明&#xff0c;查看完整代码及预览效果请 点击这里。 简单说明原理&#xff1a;使用伪元素 ::before 绘制一个渐变色&#xff0c;然后使用伪元素 ::after 绘…

J2EE反射

目录 一.什么是反射 用实体类Student做示范 三.反射实例化 四.反射动态方法调用 五.反射读写属性 一.什么是反射 反射java语言中的一种机制&#xff0c;通过这种机制可以动态的实例化对象&#xff0c;读写属性&#xff0c;调用方法 二.类类 Class.forName(完整类名)类名…

16. 存储过程和存储函数

文章目录 1.存储过程和存储函数2.创建和使用存储过程2.1 语法&#xff1a;2.2 第一个存储过程&#xff0c;打印hello world2.3 调用语法2.4 带参数的存储过程2.5 调试存储过程 3.创建和使用存储函数3.1 存储函数定义3.2 存储函数语法&#xff1a;3.3 存储函数案例&#xff1a; …

Mybatis操作数据库执行流程的先后顺序是怎样的?

MyBatis是一个支持普通SQL查询、存储及高级映射的持久层框架&#xff0c;它几乎消除了JDBC的冗余代码。使Java开发人员可以使用面向对象的编程思想来操作数据库。对于MyBatis的工作原理和操作流程的理解&#xff0c;我们先来看下面的工作流程图。 MaBatis的工作流程 在上图中…

为什么弹性内容交付网络是决定网站性能的关键

如今的用户对于所访问网站都对网站有自己的标准&#xff0c;他们期望访问的网站性能良好&#xff0c;具有快速的页面加载时间和易于访问、新鲜且动态的内容&#xff0c;同时他们还希望享受无缝且安全的体验&#xff0c;无需停机或内容访问受到限制。比如微博等平台每次在网络热…

布隆过滤器在海量数据去重验证中应用

布隆过滤器在海量数据去重验证中应用 文章目录 布隆过滤器在海量数据去重验证中应用引子面试结束级方案——从数据库中取新手级方案——利用redis的set数据结构专业级方案——利用布隆过滤器 布隆过滤器基本概念优点缺点布隆过滤器的数据结构布隆过滤器的工作流程布隆过滤器的优…

数据库应用:MySQL备份与恢复

目录 一、理论 1.数据备份 2.完全备份与恢复 3.完全备份与恢复应用 4.增量备份与恢复 5.增量备份与恢复应用 6.使用脚本备份 7.日志管理 二、实验 1.完全备份与恢复 2.增量备份与恢复 3.使用脚本备份 三、问题 1.mysqldump报错 四、总结 一、理论 1.数据备份 …

企业电子招标采购系统源码Spring Cloud + Spring Boot + MybatisPlus + 前后端分离 + 二次开发

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及审…

(ceph)CephFS 文件系统 MDS接口

创建 CephFS 文件系统 MDS 接口 //服务端操作 1&#xff09;在管理节点创建 mds 服务 cd /etc/ceph ceph-deploy mds create node01 node02 node032&#xff09;查看各个节点的 mds 服务 ssh rootnode01 systemctl status ceph-mdsnode01 ssh rootnode02 systemctl status cep…

浙大数据结构第三周之03-树3 Tree Traversals Again

题目详情&#xff1a; An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stack operations are: push(1); push(2)…

怎么对XMind思维导图加密?

在现代社会中&#xff0c;信息安全变得越来越重要。对于那些使用XMind思维导图来组织和管理重要信息的人来说&#xff0c;保护思维导图中的内容免受未经授权的访问变得至关重要。本文将介绍如何加密XMind思维导图&#xff0c;以确保您的信息安全。 什么是XMind思维导图&#x…

【itext7】itext7操作PDF文档之创建PDF文档、加载PDF文档、添加空白页、操作PDF页面、itext中的常见类及其方法

这篇文章&#xff0c;主要介绍itext7操作PDF文档之创建PDF文档、加载PDF文档、添加空白页、操作PDF页面、itext中的常见类及其方法。 目录 一、itext7操作PDF 1.1、itext7介绍 1.2、引入itext-core依赖 1.3、创建PDF文档 1.4、加载PDF文档 1.5、操作PDF页面 1.6、添加空…

什么是从人类反馈中强化学习(RLHF)?

目录 一、什么是RLHF? 二、语言作为强化学习问题 三、用于语言模型的RLHF 四、ChatGPT如何使用RLHF 五、RLHF对语言模型的限制 自从OpenAI公司发布ChatGPT以来&#xff0c;人们对大型语言模型(LLM)的这一重大进步感到兴奋。虽然ChatGPT与其他最先进的大型语言模型大小相同…

数据可视化——根据提供的数据,将数据经过处理后以折线图的形式展现

文章目录 前言处理数据获取数据筛选数据将JSON数据转换为Python数据筛选出横坐标数据和纵坐标数据 根据处理后的数据绘制折线图整体代码展示 前言 前面我们学习了如何使用 pyecharts 模块绘制简单的折线图&#xff0c;那么今天我将为大家分享&#xff0c;如何根据提供的数据将…

【JavaScript 03】语句 变量 变量提升 标识符 注释 区块 作用域 条件语句 循环语句 break continue 标签

JS 语句变量变量提升标识符注释区块条件语句ifif...elseswitch三元运算符 ?: 循环语句whilefordo...whilebreak语句 and continue语句标签 语句 JS程序的执行单位是行&#xff08;line&#xff09; **语句&#xff08;statement&#xff09;**是为了完成特定任务而进行的操作…