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

ubuntu 安装 Redis 5.0.8 的完整步骤

以下是根据前面的沟通记录整理的完整安装过程和依赖项,确保在 Ubuntu 22 上成功安装 Redis 5.0.8。


安装 Redis 5.0.8 的完整步骤

1. 安装依赖

在编译和运行 Redis 之前,需要安装一些必要的工具和库:

sudo apt update
sudo apt install build-essential tcl gcc make
  • build-essential:包含编译工具链(如 gccmake)。
  • tcl:用于运行 Redis 的测试。
  • gccmake:用于编译 Redis。
2. 下载 Redis 5.0.8 源码

从 Redis 官方网站下载 Redis 5.0.8 的源码包:

wget http://download.redis.io/releases/redis-5.0.8.tar.gz
3. 解压并进入目录

解压下载的文件,并进入解压后的目录:

tar -xzvf redis-5.0.8.tar.gz
cd redis-5.0.8
4. 编译 Redis

运行以下命令编译 Redis:

make

如果编译过程中没有报错,可以运行以下命令进行测试:

make test
5. 安装 Redis

将 Redis 安装到系统中:

sudo make install
6. 配置 Redis

复制默认配置文件到 /etc 目录,并根据需要进行修改:

cp redis.conf /etc/redis.conf
nano /etc/redis.conf

建议修改以下配置:

  • 后台启动:将 daemonize no 修改为 daemonize yes
  • 允许远程连接:注释掉 bind 127.0.0.1
  • 关闭保护模式:将 protected-mode yes 修改为 protected-mode no
7. 启动 Redis 服务

使用以下命令启动 Redis 服务:

redis-server /etc/redis.conf
8. 测试 Redis

通过 redis-cli 测试 Redis 是否正常工作:

redis-cli ping

如果返回 PONG,则表示 Redis 安装成功。

9. 设置开机自启(可选)

如果需要 Redis 在系统启动时自动运行,可以将其添加为 systemd 服务:

  1. 创建 Redis 服务文件:
    sudo nano /etc/systemd/system/redis.service
    
  2. 添加以下内容:
    [Unit]
    Description=Redis In-Memory Data Store
    After=network.target[Service]
    ExecStart=/usr/local/bin/redis-server /etc/redis.conf
    ExecStop=/usr/local/bin/redis-cli shutdown
    Restart=always[Install]
    WantedBy=multi-user.target
    
  3. 启用并启动 Redis 服务:
    sudo systemctl enable redis
    sudo systemctl start redis
    

总结

通过以上步骤,你可以在 Ubuntu 22 上成功安装 Redis 5.0.8。以下是安装过程中需要的依赖项和工具:

  • 依赖项
    • build-essential:包含编译工具链。
    • tcl:用于运行 Redis 的测试。
    • gcc:C 语言编译器。
    • make:用于构建和安装 Redis。

相关文章:

ubuntu 安装 Redis 5.0.8 的完整步骤

以下是根据前面的沟通记录整理的完整安装过程和依赖项,确保在 Ubuntu 22 上成功安装 Redis 5.0.8。 安装 Redis 5.0.8 的完整步骤 1. 安装依赖 在编译和运行 Redis 之前,需要安装一些必要的工具和库: sudo apt update sudo apt install bu…...

制造企业搭建AI智能生产线怎么部署?

制造商需要精准协调生产和发货,确保订单及时交付。MES、ERP、CRM 系统与生产线集成,对生产管理流程、物料跟踪、品控、确定货期至关重要。如果某个系统发生延迟或者效率低下,会在造成整个生产环节停滞,影响最终交付,导…...

深度学习驱动的超高清图修复技术——综述

Deep Learning-Driven Ultra-High-Definition Image Restoration: A Survey Liyan Wang, Weixiang Zhou, Cong Wang, Kin-Man Lam, Zhixun Su, Jinshan Pan Abstract Ultra-high-definition (UHD) image restoration​​ aims to specifically solve the problem of ​​quali…...

unix/linux source 命令,其内部结构机制

要理解 source (或 .) 命令的内部结构机制,我们需要戴上“操作系统”和“解释器设计”的眼镜,深入到 Shell 如何管理其状态以及如何执行命令的层面。 虽然我们无法直接看到 Shell 内部的 C 代码(除非我们去阅读 Bash 或 Zsh 的源码),但我们可以基于其行为和操作系统的原理…...

【LLM】FastAPI入门教程

note FastAPI 是一个现代的、快速(高性能)的 Web 框架,用于构建 API(应用程序编程接口)。它基于 Python 3.7,使用了 Python 类型提示(type hints),并且具有自动化的文档…...

进程同步机制-信号量机制-记录型信号量机制中的的wait和signal操作

wait和signal是记录型信号量机制中用于实现进程同步与互斥的两个重要操作&#xff0c; wait 操作 wait(semaphores *S) {S->value --;if (S->value<0) block(S->list) }请求资源&#xff1a;S->value --; 这一步表示进程请求一个单位的资源&#xff0c;将信号…...

gitlib 常见命令

git clone <项目URL> # 从 GitLab 拉取代码到本地 git status 查看状态 git diff 文件路径 查看修改位置 git diff 文件路径 查看修改位置 black -l 180 路径 格式化文件 git add 路径 &#xff08;可以多个&#xff09; 添加修改到暂存区 git commit -m “提交说明…...

Azure DevOps 管道部署系列之二IIS

本博客旨在提供如何使用 Azure DevOps YAML 管道部署到虚拟机上的 IIS 的实用指南。 开始之前,您需要做好以下准备: 您拥有要部署的服务器的访问权限以及 PowerShell 的管理员访问权限。您拥有要部署的远程服务器的互联网访问权限。您拥有在服务器上安装 .NET Core 托管包的…...

Vue.js教学第十七章:Vue 与后端交互(一),Axios 基础

Vue 与后端交互(一):Axios 基础 在现代前端开发中,Vue 应用通常需要与后端 API 进行数据交互,以实现动态数据的获取和提交。Axios 是一个基于 Promise 的 HTTP 客户端,广泛用于 Vue 项目中与后端进行通信。本文将深入讲解 Axios 的基本用法,包括如何通过 Axios 发送 GE…...

人工智能浪潮下,制造企业如何借力DeepSeek实现数字化转型?

一、DeepSeek技术概述 DeepSeek&#xff0c;凭借其强大的深度学习和自然语言处理能力&#xff0c;能够理解复杂问题并提供精准解决方案。它不仅能够作为学习、工作、生活的助手&#xff0c;满足用户在不同场景下的需求&#xff0c;更能在制造业中发挥重要作用。通过自然语言交…...

NodeJS全栈开发面试题讲解——P2Express / Nest 后端开发

✅ 2.1 Express 的中间件机制&#xff1f;如何组织一个 RESTful API 项目&#xff1f; 面试官好&#xff0c;我来讲讲 Express 的中间件机制&#xff0c;它是 Express 架构的核心&#xff0c;也是组织 RESTful 项目的基础。 &#x1f9e9; 什么是中间件&#xff1f; 中间件&am…...

从线性代数到线性回归——机器学习视角

真正不懂数学就能理解机器学习其实是个神话。我认为&#xff0c;AI 在商业世界可以不懂数学甚至不懂编程也能应用&#xff0c;但对于技术人员来说&#xff0c;一些基础数学是必须的。本文收集了我认为理解学习本质所必需的数学基础&#xff0c;至少在概念层面要掌握。毕竟&…...

计算机网络相关发展以及常见性能指标

目录 一、因特网概述 1.1 基本概念 1.2 因特网发展的三个阶段 1.3 英特网服务提供者ISP 1.4 英特网的标准化工作 1.5 因特网的组成 1.6 简单总结 二、3种交换方式 2.1 电路交换&#xff08;Circuit Switching&#xff09; 2.2 分组交换&#xff08;Packet Switching&…...

通义灵码:基于MCP的火车票小助手系统全流程设计与技术总结

具体操作步骤请访问&#xff1a;https://blog.csdn.net/ailuloo/article/details/148319336?spm1001.2014.3001.5502 前沿技术应用全景图 一、项目背景与需求分析 目标&#xff1a;基于12306 MCP接口&#xff0c;开发一款解决高峰出行&#xff08;春运/节假日&#xff09;痛…...

为什么建立 TCP 连接时,初始序列号不固定?

主要原因有两个方面&#xff1a; 很大程度上避免历史报文被下一个相同四元组的 TCP 连接接收问题&#xff08;主要方面&#xff09;防止黑客伪造相同序列号的 TCP 报文被接收 接下来&#xff0c;详细说说第一点 假设每次建立 TCP 连接时&#xff0c;客户端和服务端的初始序列…...

VBA数据库解决方案二十:Select表达式From区域Where条件Order by

《VBA数据库解决方案》教程&#xff08;版权10090845&#xff09;是我推出的第二套教程&#xff0c;目前已经是第二版修订了。这套教程定位于中级&#xff0c;是学完字典后的另一个专题讲解。数据库是数据处理的利器&#xff0c;教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...

NX753NX756美光科技闪存NX784NX785

技术解读与产品特性 美光科技的NX系列闪存&#xff0c;包括NX753、NX756、NX784、NX785等型号&#xff0c;代表了当前存储技术的前沿水平。这些产品基于先进的NAND闪存技术&#xff0c;采用业界领先的3D TLC NAND技术&#xff0c;实现了高速的数据读写能力。3D TLC NAND技术通…...

使用 pytesseract 构建一个简单 OCR demo

简介 pytesseract 库是 Google Tesseract OCR &#xff08;光学字符识别&#xff09;引擎的一个 Python 封装库&#xff0c;使用广泛且功能强大。 构建 使用 pytesseract 构建一个简单 OCR demo。 步骤一&#xff1a;安装必要的库 您需要在您的 Python 环境中安装 pytessera…...

Cesium快速入门到精通系列教程三:添加物体与3D建筑物

Cesium中添加物体与3D建筑物&#xff0c;对于大规模城市模型&#xff0c;推荐使用 3D Tileset&#xff1b;对于简单几何图形&#xff0c;可以使用 Entity API&#xff1b;对于复杂模型&#xff0c;可以使用 GLTF 格式&#xff1a; 一、添加一个点&#xff1a; 在 Cesium 1.93…...

git 如何解决分支合并冲突(VS code可视化解决+gitLab网页解决)

1、定义&#xff1a;两个分支修改了同一文件的同一行代码&#xff0c;无法自动决定如何合并代码&#xff0c;需要人工干预的情况。&#xff08;假设A提交了文件a,此时B在未拉取代码的情况下&#xff0c;直接提交是会报错的&#xff0c;此时需要拉取之后再提交才会成功&#xff…...

【CF】Day72——Codeforces Round 890 (Div. 2) CDE1 (二分答案 | 交互 + 分治 | ⭐树上背包)

C. To Become Max 题目&#xff1a; 思路&#xff1a; 二分挺好想的&#xff0c;但是check有点不好写 看到最大值&#xff0c;试试二分&#xff0c;如果 x 可以&#xff0c;那么 x - 1 肯定也可以&#xff0c;所以具有单调性&#xff0c;考虑二分 如何check呢&#xff1f;由于…...

单片机寄存器的四种主要类型!

1. 控制寄存器&#xff08;Control Registers&#xff09;​​ ​​专业定义​​&#xff1a;用于配置硬件行为或触发操作的寄存器。 ​​大白话​​&#xff1a; 相当于设备的​​“控制面板”​​&#xff0c;通过写入特定值来​​开关功能​​或​​调整参数​​。例如&am…...

智能嗅探AJAX触发:机器学习在动态渲染中的创新应用

一、问题描述&#xff1a;数据加载变“隐形”&#xff0c;采集举步维艰 随着Web技术不断发展&#xff0c;越来越多网站采用了AJAX、动态渲染等技术来加载数据。以今日头条&#xff08;https://www.toutiao.com&#xff09;为例&#xff0c;用户打开网页时并不会一次性加载所有…...

【计算机网络】Linux下简单的UDP服务器(超详细)

套接字接口 我们把服务器封装成一个类&#xff0c;当我们定义出一个服务器对象后需要马上初始化服务器&#xff0c;而初始化服务器需要做的第一件事就是创建套接字。 &#x1f30e;socket函数 这是Linux中创建套接字的系统调用,函数原型如下: int socket(int domain, int typ…...

Java并发编程实战 Day 3:volatile关键字与内存可见性

【Java并发编程实战 Day 3】volatile关键字与内存可见性 开篇 欢迎来到《Java并发编程实战》系列的第3天&#xff01;本系列旨在带领你从基础到高级逐步掌握Java并发编程的核心概念和最佳实践。 今天我们将重点探讨volatile关键字及其在多线程程序中确保内存可见性的作用。我…...

华为OD机试真题——报文回路(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…...

K8s工作流程与YAML实用指南

K8s 工作流程 K8s 采用声明式管理&#xff08;用户说"要什么"&#xff0c;K8s 负责"怎么做"&#xff09;方式&#xff0c;通过 YAML 文件描述期望的状态&#xff0c;K8s控制平面会自动确保实际状态与期望状态一致。 核心工作流程如下&#xff1a; 用户提交…...

功能丰富的PDF处理免费软件推荐

软件介绍 今天给大家介绍一款超棒的PDF工具箱&#xff0c;它处理PDF文档的能力超强&#xff0c;而且是完全免费使用的&#xff0c;没有任何限制。 TinyTools&#xff08;PC&#xff09;这款软件&#xff0c;下载完成后即可直接打开使用。在使用过程中&#xff0c;操作完毕后&a…...

Java补充(Java8新特性)(和IO都很重要)

一、Lambda表达式 1.1、为什么使用Lambda表达式 Lambda表达式起步案例 下面源码注释是传统写法&#xff0c;代码是简写表达式写法 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.function.Consumer;/* * 学什么…...

pycharm debug的时候无法debug到指定的位置就停住不动了

报错大致是这样的&#xff0c;但是直接run没有问题&#xff0c;debug就停住不动了 Traceback (most recent call last): File "/home/mapengsen/.pycharm_helpers/pydev/_pydevd_bundle/pydevd_comm.py", line 467, in start_client s.connect((host, port)) Timeou…...