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

在 Ubuntu 24 上安装 Redis 7.0.15 并配置允许所有 IP 访问

前提条件

  • 一台运行 Ubuntu 24 的服务器
  • 拥有 sudo 权限的用户

步骤一:更新系统包

首先,确保系统包是最新的,以避免潜在的依赖问题。

sudo apt update
sudo apt upgrade -y

步骤二:安装编译 Redis 所需的依赖

Redis 需要一些编译工具和库,请安装这些依赖包。

sudo apt install build-essential tcl -y

步骤三:下载、编译并安装 Redis 7.0.15

1. 下载 Redis 源代码

访问 Redis 官方下载页面 获取最新版本的下载链接,或使用以下命令下载指定版本。

wget https://download.redis.io/releases/redis-7.0.15.tar.gz

2. 解压源码包

tar xzf redis-7.0.15.tar.gz
cd redis-7.0.15

3. 编译 Redis

make
make test
sudo make install

步骤四:创建 Redis 用户和目录

为 Redis 创建一个专用用户和所需的目录,增强安全性。

sudo adduser --system --group --no-create-home redis
sudo mkdir /etc/redis
sudo mkdir /var/lib/redis
sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis

步骤五:配置 Redis

1. 复制配置文件

将默认的 Redis 配置文件复制到 /etc/redis/ 目录。

sudo cp redis.conf /etc/redis/

2. 编辑配置文件

使用文本编辑器(如 nano)编辑配置文件。

sudo nano /etc/redis/redis.conf

进行以下修改:

  • 绑定所有 IP 地址

    找到 bind 配置项,将其设置为 0.0.0.0,允许来自任何 IP 的连接。

    bind 0.0.0.0
    
  • 关闭保护模式

    关闭 Redis 的保护模式,允许外部访问。

    protected-mode no
    
  • 后台运行

    将 Redis 设置为后台运行。

    daemonize yes
    
  • 指定持久化目录

    确保 Redis 的持久化目录正确指向 /var/lib/redis

    dir /var/lib/redis
    
  • 设置密码认证(强烈推荐)

    为 Redis 设置访问密码,提高安全性。

    requirepass YourStrongPassword
    

    YourStrongPassword 替换为你选择的强密码。

保存并关闭文件(在 nano 中按 Ctrl + O 保存,Ctrl + X 退出)。

步骤六:启动 Redis 服务器

使用 redis-server 命令并指定配置文件路径启动 Redis。

sudo redis-server /etc/redis/redis.conf

你可以使用 & 符号将 Redis 进程放入后台运行,或者确保配置文件中的 daemonize yes 已设置。

步骤七:配置防火墙

确保服务器的防火墙允许外部访问 Redis 的默认端口 6379

1. 使用 UFW 允许端口

sudo ufw allow 6379/tcp

2. 限制访问 IP(可选)

如果服务器暴露在公网,建议仅允许特定 IP 地址访问 Redis 端口。例如,仅允许 192.168.1.100 访问:

sudo ufw allow from 192.168.1.100 to any port 6379

步骤八:验证 Redis 是否运行正常

1. 检查 Redis 进程

使用 psnetstat 检查 Redis 是否在运行,并监听正确的端口。

ps aux | grep redis
sudo netstat -plnt | grep 6379

2. 使用 redis-cli 测试连接

从本地或另一台机器使用 redis-cli 连接到 Redis 服务器。

redis-cli -h your.server.ip -p 6379

如果设置了密码,输入以下命令进行认证:

auth YourStrongPassword

成功后,应返回:

OK

3. 测试 PING 命令

redis-cli 中输入 PING,应返回 PONG

ping

输出:

PONG

相关文章:

在 Ubuntu 24 上安装 Redis 7.0.15 并配置允许所有 IP 访问

前提条件 一台运行 Ubuntu 24 的服务器拥有 sudo 权限的用户 步骤一:更新系统包 首先,确保系统包是最新的,以避免潜在的依赖问题。 sudo apt update sudo apt upgrade -y步骤二:安装编译 Redis 所需的依赖 Redis 需要一些编译…...

构建高效可靠的分布式推理系统:深入解析控制器与模型服务的协同工作

在现代互联网应用中,随着用户需求的增长和技术的进步,单一服务器已经难以满足大规模并发请求的需求。为了提升系统的性能和可靠性,开发者们越来越多地采用分布式架构。本文将结合具体的代码示例,深入浅出地探讨如何构建一个高效的分布式推理系统,并详细解析其中的关键组件…...

springboot394疫情居家办公系统(论文+源码)_kaic

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统疫情居家办公系统信息管理难度大,容错率低&a…...

共筑数字安全防线,2024开源和软件安全沙龙即将启幕

随着数字化转型进程的加快以及开源代码的广泛应用,开源凭借平等、开放、协作、共享的优秀创作模式,逐渐成为推动数字技术创新、加速传统行业转型升级的重要模式。但随着软件供应链日趋复杂多元,使得其安全风险不断加剧,针对软件供…...

后端报错: message: “For input string: \“\““

这个错误信息表明后端尝试将一个空字符串 "" 转换为某种数值类型(如整数、长整型等),但转换失败了。在许多编程语言中,如果你试图解析一个非数字的字符串(在这个情况下是一个空字符串)为数值类型…...

39 矩阵置零

39 矩阵置零 39.1 矩阵置零解决方案 解题思路: 利用第一行和第一列标记: 使用两个标记变量,rowZero和colZero,来判断第一行和第一列是否需要置零。遍历矩阵从(1,1)开始,如果某个元素是0,则标记该行和该列…...

使用伪装IP地址和MAC地址进行Nmap扫描

使用伪装IP地址和MAC地址进行Nmap扫描 在某些网络设置中,攻击者可以使用伪装的IP地址甚至伪装的MAC地址进行系统扫描。这种扫描方式只有在可以保证捕获响应的情况下才有意义。如果从某个随机的网络尝试使用伪装的IP地址进行扫描,很可能无法接收到任何响…...

linux安装docker和mysql

1.下载安装doker 1. 更新系统,确保系统是最新的 sudo yum update -y2.安装 Docker 所需的依赖包: sudo yum install -y yum-utils 2. 设置 Docker 仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 3. 安装 Dock…...

贪心算法专题(四)

目录 1. 单调递增的数字 1.1 算法原理 1.2 算法代码 2. 坏了的计算器 2.1 算法原理 2.2 算法代码 3. 合并区间 3.1 算法原理 3.2 算法代码 4. 无重叠区间 4.1 算法原理 4.2 算法代码 5. 用最少数量的箭引爆气球 5.1 算法原理 ​5.2 算法代码 1. 单调递增的数字…...

QT 多级嵌套结构体,遍历成员--半自动。<模板+宏定义>QTreeWidget树结构显示

Qt的QTreeWidget来显示嵌套结构体的成员&#xff0c;并以树形结构展示。 #include <QApplication> #include <QTreeWidget> #include <QTreeWidgetItem> #include <QString> #include <cstdint>// 假设这些是你的结构体定义 struct BaseMeterPa…...

NLP-中文分词

中文分词 1、中文分词研究背景及意义 和大部分西方语言不同&#xff0c;书面汉语的词语之间没有明显的空格标记&#xff0c;句子是以字串的形式出现。因此对中文进行处理的第一步就是进行自动分词&#xff0c;即将字串转变成词串。 比如“中国建筑业呈现新格局”分词后的词串…...

详解LeetCode地下城游戏(动态规划)——区分两种状态表示形式

地下城游戏 题目链接&#xff1a;174. 地下城游戏 状态表示&#xff1a; 按照以往题的表示&#xff0c;dp[i][j]表示&#xff1a;从起点&#xff08;0&#xff0c;0&#xff09;位置到达&#xff08;i&#xff0c;j&#xff09;位置时&#xff0c;所需的最小初始健康值。但是…...

.NET正则表达式

正则表达式提供了功能强大、灵活而又高效的方法来处理文本。 正则表达式丰富的泛模式匹配表示法使你可以快速分析大量文本&#xff0c;以便&#xff1a; 查找特定字符模式。 验证文本以确保它匹配预定义模式&#xff08;如电子邮件地址&#xff09;。 提取、编辑、替换或删除…...

k8s 为什么需要Pod?

Pod&#xff0c;是 Kubernetes 项目中最小的 API 对象&#xff0c;更加专业的说&#xff0c;Pod&#xff0c;是 Kubernetes 项目的原子调度单位。 Pod 是 Kubernetes 里的原子调度单位。这就意味着&#xff0c;Kubernetes 项目的调度器&#xff0c;是统一按照 Pod 而非容器的资…...

CV(3)--噪声滤波和特征

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 图像噪声&#xff08;需要主动干扰的场景&#xff09;&#xff1a; 添加高斯噪声&#xff1a;概率密度函数服从高斯分布的一类噪声 通过设置sigma和mean生成符合高斯分布的随机数&#xff0c;然后计算输出像素&#xff0c;放缩…...

LDR6500:音频双C支持,数字与模拟的完美结合

在当今数字化快速发展的时代&#xff0c;音频设备的兼容性和性能成为了用户关注的重点。LDR6500&#xff0c;作为乐得瑞科技精心研发的USB Power Delivery&#xff08;PD&#xff09;协议芯片&#xff0c;凭借其卓越的性能和广泛的应用兼容性&#xff0c;为音频设备领域带来了新…...

python web app开发

背景: web app VS 本地GUI开发 web app开发以来一直被人诟病性能,无法访问本地设备,无状态的等缺点而被迫转向本地GUI开发;但本地开发如C++ QT,MFC,WinForm等开发结构又太重,使人望而生畏。web app有个有点就…...

redis数据结构和内部编码及单线程架构

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 1. 数据结构和内部编码 Redis会在合适的场景选择合适的内部编码 我们可以通过objectencoding命令查询内部编码 : 2. 单线程架构 …...

【unity小技巧】分享vscode如何进行unity开发,且如何开启unity断点调试模式,并进行unity断点调试(2024年最新的方法,实测有效)

文章目录 前言一、前置条件1、已安装Visual Studio Code&#xff0c;并且unity首选项>外部工具>外部脚本编辑器选择为Visual Studio Code [版本号]&#xff0c;2、在Visual Studio Code扩展中搜索Unity&#xff0c;并安装3、同时注意这个插件下面的描述&#xff0c;需要根…...

AI大模型学习笔记|人工智能的发展历程、智能体的发展、机器学习与深度学习的基本理论

学习链接&#xff1a;冒死上传&#xff01;价值2W的大模型入门到就业教程分享给大家&#xff01;轻松打造专属大模型助手&#xff0c;—多模态、Agent、LangChain、ViT、NLP_哔哩哔哩_bilibili 百度网盘自己整理的笔记&#xff1a; 通过网盘分享的文件&#xff1a;1-人工智能的…...

Agent 在人力资源场景能做什么?——深度拆解AI Agent重塑HR全流程的技术路径与实操价值

在2026年的今天&#xff0c;AI Agent&#xff08;智能体&#xff09;已不再仅仅是企业数字化转型的“锦上添花”&#xff0c;而是演变为人力资源&#xff08;HR&#xff09;领域的底层驱动力。从最初的单点辅助工具到如今具备自主规划、工具调用及闭环执行能力的数字员工&#…...

Sealos安全架构完全指南:多租户环境下的终极防护策略

Sealos安全架构完全指南&#xff1a;多租户环境下的终极防护策略 【免费下载链接】sealos Sealos is a production-ready Kubernetes distribution that provides a one-stop solution for both public and private cloud. https://sealos.io 项目地址: https://gitcode.com/…...

GuwenBERT:古文自然语言处理的技术革新

GuwenBERT&#xff1a;古文自然语言处理的技术革新 【免费下载链接】guwenbert GuwenBERT: 古文预训练语言模型&#xff08;古文BERT&#xff09; A Pre-trained Language Model for Classical Chinese (Literary Chinese) 项目地址: https://gitcode.com/gh_mirrors/gu/guwe…...

Qwen3.5-4B-Claude-Opus惊艳效果展示:分步骤推导二分查找O(log n)全过程

Qwen3.5-4B-Claude-Opus惊艳效果展示&#xff1a;分步骤推导二分查找O(log n)全过程 1. 模型能力概览 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个专为推理任务优化的轻量级模型&#xff0c;特别擅长处理需要分步骤分析的技术问题。这个4B参数的模型通过蒸馏…...

Python异步爬虫实战:aiohttp并发采集与验证码异步处理完整教程

前言 爬虫效率是每个数据工程师都关心的问题。当你需要采集上万个页面时&#xff0c;同步请求一个一个排队等待的方式实在太慢了。 Python的asyncio aiohttp组合可以让你的爬虫速度提升10-50倍&#xff0c;而且代码改动并不大。 本文将从零开始讲解异步爬虫的原理和实战&am…...

新手必看:5分钟学会用Visio绘制PAD图和N-S图(附实例解析)

零基础掌握Visio绘制PAD图与N-S图的实战指南 在软件设计领域&#xff0c;可视化工具的重要性不言而喻。对于刚入门的开发者来说&#xff0c;掌握如何将抽象的逻辑思维转化为直观的图表是一项必备技能。Visio作为微软旗下的专业绘图工具&#xff0c;以其友好的界面和强大的功能&…...

在Ubuntu 22.04上,用Docker搞定PaddleOCR-VL多版本CUDA部署(含FlashAttention避坑)

在Ubuntu 22.04上实现PaddleOCR-VL多版本CUDA容器化部署全指南 当深度学习项目遇上多版本CUDA环境时&#xff0c;开发者往往陷入依赖地狱。本文将带你用Docker构建一个完整的PaddleOCR-VL解决方案&#xff0c;涵盖从环境隔离到性能调优的全流程&#xff0c;特别针对50系显卡的F…...

写论文没思路?这样梳理,新手也能快速理清逻辑

写论文最磨人的&#xff0c;从来不是熬夜写正文&#xff0c;而是明明定好了选题&#xff0c;却陷入“思路卡顿”的死循环——对着空白文档坐一下午&#xff0c;脑子里只有零散的碎片想法&#xff0c;不知道从哪切入、怎么展开&#xff0c;好不容易写下几句&#xff0c;又觉得逻…...

颗粒结构:基础但容易被忽视

在COMSOL中二氧化碳电化学还原过程中不同催化剂结构对离子传输的影响的模拟分析搞电化学的小伙伴们都知道&#xff0c;催化剂长得像撒了把芝麻似的颗粒结构最省事。但在COMSOL里建模时千万别直接右键画球体——试试这个骚操作&#xff1a;model.geom("geom1").featur…...

工作中常用linux命令汇总

①启动jar包&#xff1a;nohup java -jar ruoyi-admin.jar > app.log 2>&1 &②指定端口启动jar包&#xff1a;nohup java -jar -Dserver.port8081 ruoyi-admin.jar > app.log 2>&1 &③根据jar包判断启动的进程&#xff1a;jps -l | grep ruoyi-adm…...