Linx下自动化之路:Redis安装包一键安装脚本实现无网极速部署并注册成服务

news2025/1/11 9:55:35

目录

简介

安装包下载

安装脚本

服务常用命令


简介

通过一键安装脚本实现 Redis 安装包的无网极速部署,并将其成功注册为系统服务,开机自启。

安装包下载

redis-7.0.8.tar.gzicon-default.png?t=O83Ahttp://download.redis.io/releases/redis-7.0.8.tar.gz

安装脚本

  • 修改INSTALL_DIR:真实安装路径
  • 修改PASSWORD:密码
  • 将脚本(redis-install.sh)和安装包(redis-7.0.8.tar.gz)放置$INSTALL_DIR目录下
  • 运行脚本sh redis-install.sh
#!/bin/bash

INSTALL_DIR=/data
REDIS_VERSION=7.0.8
PASSWORD=123456

# 检查是否已安装Redis
if command -v redis-server &>/dev/null; then
    echo "已安装Redis"
    exit 0
fi

echo "开始解压==================================================="
# 解压redis文件
tar zxvf redis-$REDIS_VERSION.tar.gz
echo "解压成功==================================================="

echo "编译、安装开始==============================================="
# 编译、安装
cd $INSTALL_DIR/redis-$REDIS_VERSION && make && make PREFIX=$INSTALL_DIR/redis-$REDIS_VERSION install
echo "编译、安装成功==============================================="

# 复制配置文件
cp $INSTALL_DIR/redis-$REDIS_VERSION/redis.conf /$INSTALL_DIR/redis-$REDIS_VERSION/bin

# 创建启动脚本
cat << EOF> /etc/systemd/system/redis.service
[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis-server /$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis.conf
ExecReload=/$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis-server -s reload
ExecStop=/$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF


# 修改配置文件
sed -i 's/protected-mode yes/protected-mode no/' "$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis.conf"
sed -i 's/bind 127.0.0.1 -::1/# bind 127.0.0.1 -::1/' "$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis.conf"
echo "开启远程访问"

sed -i 's/daemonize no/daemonize yes/' "$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis.conf"
echo "设置后台启动"

sed -i 's/# requirepass foobared/requirepass $PASSWORD/' "$INSTALL_DIR/redis-$REDIS_VERSION/bin/redis.conf"
echo "设置密码"

# 赋予权限
chmod +x /etc/init.d/redis

echo "设置开机自启动"
# 设置开机自启动
chkconfig redis on

# 启动
service redis start
echo "启动成功"

服务常用命令

# 启动服务
service redis start
 
# 停止服务
service redis stop
 
# 显示状态
service redis status

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

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

相关文章

第3章.垃圾收集器与内存分配策略

概述 对象已死 引用计数法 可达性分析算法 再谈引用 生存还是死亡 回收方法区 垃圾收集算法 分代收集理论 3种垃圾收集算法 HotSpot的算法细节实现 根节点枚举 安全点 安全区域 记忆集与卡表 写屏障 并发的可达性分析 误消亡问题 经典垃圾收集器 概述 简单的一些GC CMS G1 低延…

Python 类的设计(以植物大战僵尸为例)

关于类的设计——以植物大战僵尸为例 一、设计类需满足的三要素1. 类名2. 属性和方法 二、以植物大战僵尸的为例的类的设计1. 尝试分类2. 创建对象调用类的属性和方法*【代码二】*3. 僵尸的继承 三、代码实现 一、设计类需满足的三要素 1. 类名 类名&#xff1a;某类事物的名…

如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档

本文介绍使用 WinCC DataMonitor 的 "Excel Workbooks" 功能&#xff0c;通过 Excel 表格显示 WinCC 项目的过程值、归档变量值和报警归档消息。并可以通过 Web 发布浏览访问数据 1&#xff0e;WinCC DataMonitor是什么 ? DataMonitor 是 SIMATIC WinCC 工厂智能中…

【Java】—— 图书管理系统

基于往期学习的类和对象、继承、多态、抽象类和接口来完成一个控制台版本的 “图书管理系统” 在控制台界面中实现用户与程序交互 任务目标&#xff1a; 1、系统中能够表示多本图书的信息 2、提供两种用户&#xff08;普通用户&#xff0c;管理员&#xff09; 3、普通用户…

记录ubuntu22.04重启以后无法获取IP地址的问题处理方案

现象描述&#xff1a;我的虚拟机网络设置为桥接模式&#xff0c;输入ifconfig只显示127.0.0.1&#xff0c;不能连上外网。&#xff0c;且无法上网&#xff0c;用ifconfig只有如下显示&#xff1a; 1、sudo -i切换为root用户 2、输入dhclient -v 再输入ifconfig就可以看到多了…

异步操作,promise、axios

一、异步操作&#xff08;异步编程&#xff09;、同步操作 异步操作是指在编程中&#xff0c;某个任务的执行不会立即完成&#xff0c;同时不会阻塞后续代码的执行。在异步操作中&#xff0c;程序可以继续运行&#xff0c;并在异步任务完成时得到通知并处理结果。这与同步操作…

第一性原理构造医疗信创域高质量发展路径应用探析

门诊电子病历录入 摘要&#xff1a; 主要介绍了第一性原理在医疗系统开发中的应用及其重要性。阐述了第一性原理的概念及发展历程&#xff0c;并指出其在各个领域的重要性和应用价值。详细分析了第一性原理在医疗系统开发中的具体影响&#xff0c;包括对医院管理和互联网医疗的…

MySQL8下载安装教程

前言 1.个人经验&#xff0c;仅供参考&#xff01;&#xff01;&#xff01; 2.如果之前有下载过MySQL&#xff0c;请检查是否有删除干净&#xff0c;在控制面板删除最好 下载网址&#xff1a;MySQL :: MySQL Community Downloads 下载步骤 进入网址选择要下载的 下一步网…

算法日记 45 day 图论(并查集基础)

并查集解决什么问题 并查集常用来解决连通性问题。 大白话就是当我们需要判断两个元素是否在同一个集合里的时候&#xff0c;我们就要想到用并查集。 原理 既然是查找是否在同一个集合中&#xff0c;那么这个集合是怎么构建的呢&#xff1f;用一维数组来表示一个有向图&…

PTA DS 6-4 带头结点的链队列的基本操作 (C补全函数)

6-4 带头结点的链队列的基本操作 分数 10 全屏浏览 切换布局 作者 黄复贤 单位 菏泽学院 实现链队列的入队列及出队列操作。 函数接口定义&#xff1a; Status QueueInsert(LinkQueue *Q,ElemType e)&#xff1b; Status QueueDelete(LinkQueue *Q,ElemType *e)&#x…

Windows 系统没有网络链接常见原因以及解决方案

在使用 Windows 电脑时&#xff0c;有时会遇到电脑显示已连接网络&#xff0c;但却无法访问 Internet 的情况&#xff0c;这可能是由多种原因导致的。以下简鹿办公将详细介绍一些常见原因及对应的解决方案。 一、网络连接问题 原因 路由器故障&#xff1a;路由器长时间运行可…

lnmp+discuz论坛 附实验:搭建discuz论坛

Inmpdiscuz论坛 Inmp: t: linux操作系统 nr: nginx前端页面 me: mysql数据库 账号密码&#xff0c;等等都是保存在这个数据库里面 p: php——nginx擅长处理的是静态页面&#xff0c;页面登录账户&#xff0c;需要请求到数据库&#xff0c;通过php把动态请求转发到数据库 n…

杨振宁大学物理视频中黄色的字,c#写程序去掉

先看一下效果&#xff1a;&#xff08;还有改进的余地&#xff09; 我的方法是笨方法&#xff0c;也比较刻板。 1&#xff0c;首先想到&#xff0c;把屏幕打印下来。c#提供了这样一个函数&#xff1a; Bitmap bmp new Bitmap(640, 480, PixelFormat.Format32bppArgb); // 创…

Openlayers基础知识回顾(五)

1、GeoJSON数据的加载 GeoJSON是一种基于JSON的地理空间数据交换格式&#xff0c;它定义了几种类型JSON对象以及它们组合在一起的方法&#xff0c;以表示有关地理要素、属性和它们的空间范围的数据 2、GeoJSON转化为ol要素 new ol.format.GeoJSON().readFeatures() 一、canv…

VTK知识学习(21)- 数据的读写

1、前言 对于应用程序而言&#xff0c;都需要处理特定的数据&#xff0c;VTK应用程序也不例外。 VTK应用程序所需的数据可以通过两种途径获取: 第一种是生成模型&#xff0c;然后处理这些模型数据(如由类 vtkCylinderSource 生成的多边形数据); 第二种是从外部存储介质里导…

javaWeb之过滤器(Filter)

目录 前言 过滤器概述 什么是过滤器 过滤器详细 过滤器的生命周期 过滤器的应用 创建一个简单的Filter类步骤 注意&#xff1a;指定拦截路径&#xff0c;我们有两种方式 实例 前言 本篇博客的核心 知道过滤器的整个拦截过程知道如何指定拦截路径知道过滤器的生命周期…

如何增强通信监控系统

随着员工工作方式的改变&#xff0c;创建安全的远程通信通道至关重要。这对于数据安全也很重要。通信监控系统是确保数据和网络安全的当务之急。 如今&#xff0c;员工越来越多地使用电子通信。在理想世界中&#xff0c;这些渠道的范围是明确界定的。在现实世界中&#xff0c;…

「Mac玩转仓颉内测版47」小学奥数篇10 - 数列求和

本篇将通过 Python 和 Cangjie 双语实现数列求和的计算。通过这个题目&#xff0c;学生将学会如何通过公式法和循环法求解等差数列与等比数列的和。 关键词 小学奥数Python Cangjie数列求和 一、题目描述 编写一个程序&#xff0c;计算等差数列和等比数列的和。用户输入首项…

Robot Framework的 跳出 for循环

一. 简介 前面简单学习了一下&#xff0c;robotframework中的 for循环语句&#xff0c;文章如下&#xff1a; Robot Framework的 for循环语句-CSDN博客 本文继续学习 有关 for循环的其他操作&#xff0c;例如跳出 for循环&#xff0c;或者退出某一次循环等操作。 二. Robo…

nonolog起步笔记-4-Server端的两个线程

nonolog起步笔记-4-Server端的两个线程 Server端的两个线程两个线程的角色与各自的职责RuntimeLogger::compressionThreadMain线程 详细学习一下相关的代码第三个线程第一次出现原位置swip buffer Server端的两个线程 如前所述&#xff0c;nanolog的server端&#xff0c;相对而…