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

linux redis部署教程

单节点部署:

单节点部署 Redis 非常简单,只需要在一台服务器上安装 Redis 服务即可。以下是在 Linux 环境下的单节点部署步骤:

安装 Redis:打开终端,并执行以下命令来更新软件包列表并安装 Redis 服务器:
sudo apt update
sudo apt install redis-server

配置 Redis:

Redis 的配置文件通常位于 /etc/redis/redis.conf。你可以使用文本编辑器(如 nano 或 vim)打开该文件,并根据需要进行配置更改。

sudo nano /etc/redis/redis.conf

在配置文件中,你可以设置 Redis 的监听地址、端口、认证密码等选项。确保根据你的需求进行相应配置,并保存文件。

例如,你可以修改以下选项来允许远程连接和设置认证密码:

bind 0.0.0.0         # 允许远程连接
requirepass your_password   # 设置认证密码

启动 Redis:

完成配置后,启动 Redis 服务:

sudo systemctl start redis

如果需要在系统启动时自动启动 Redis,可以执行以下命令:

sudo systemctl enable redis

验证 Redis 是否正常运行:

你可以使用以下命令检查 Redis 服务是否正在运行:

sudo systemctl status redis

如果一切正常,你应该能够看到 Redis 服务处于运行状态。

连接到 Redis:

你可以使用 redis-cli 命令行工具连接到 Redis 服务器,并进行操作:

redis-cli -h your_server_ip -p your_port -a your_password

替换 your_server_ip、your_port 和 your_password 为实际的服务器 IP 地址、端口和密码。

现在,你已经成功部署了单节点的 Redis 服务,并可以使用它来存储和管理数据。


主从复制部署:

Redis 主从复制部署是一种常见的配置,可以提高系统的读取性能和可用性。在主从复制中,主节点负责写入数据,而从节点则复制主节点的数据并提供读取服务。以下是在 Linux 环境下进行 Redis 主从复制部署的步骤:

准备服务器:在你的网络环境中准备两台服务器,一台作为主节点(Master),另一台作为从节点(Slave)。确保服务器之间可以相互通信,并且防火墙配置允许 Redis 端口(默认为 6379)的访问。安装 Redis:在两台服务器上安装 Redis 服务器。可以使用以下命令在 Ubuntu 上安装:
sudo apt update
sudo apt install redis-server

配置主节点:

打开主节点的 Redis 配置文件 /etc/redis/redis.conf,并进行如下配置:

bind 0.0.0.0             # 允许远程连接
port 6379                # 默认端口
daemonize yes            # 在后台运行
requirepass your_password     # 设置认证密码
masterauth your_master_password   # 主节点密码

确保替换 your_password 和 your_master_password 为实际的密码。

配置从节点:

同样地,打开从节点的 Redis 配置文件 /etc/redis/redis.conf,并进行如下配置:

bind 0.0.0.0
port 6379
daemonize yes
requirepass your_password
masterauth your_master_password
slaveof master_ip master_port   # 指定主节点的 IP 地址和端口

确保替换 your_password 和 your_master_password 为实际的密码,以及将 master_ip 和 master_port 替换为主节点的 IP 地址和端口号。

启动 Redis:

在主从节点上分别启动 Redis 服务:

sudo systemctl start redis

验证主从复制:

连接到主节点的 Redis 服务器,并设置一些键值对:

redis-cli -h master_ip -p 6379 -a your_password
set mykey myvalue

然后连接到从节点的 Redis 服务器,并检查键值对是否被复制:

redis-cli -h slave_ip -p 6379 -a your_password
get mykey

如果从节点返回了与主节点相同的值,则表示主从复制已成功。

现在,你已经成功地部署了 Redis 主从复制配置。主节点将负责写入数据,而从节点则复制主节点的数据以提供读取服务。


Sentinel高可用部署:

Redis Sentinel 是 Redis 的高可用解决方案,它监视 Redis 实例,并在主节点发生故障时自动执行故障转移操作。以下是在 Linux 环境下进行 Redis Sentinel 高可用部署的步骤:

准备服务器:在你的网络环境中准备至少三台服务器,每台服务器上都要安装 Redis。一台作为主节点(Master),另外两台作为 Sentinel 节点(可以增加更多的 Sentinel 节点以提高可靠性)。确保服务器之间可以相互通信,并且防火墙配置允许 Redis 端口(默认为 6379)和 Sentinel 端口(默认为 26379)的访问。安装 Redis:在每台服务器上安装 Redis 服务器。可以使用以下命令在 Ubuntu 上安装:
sudo apt update
sudo apt install redis-server

配置主节点:

在主节点的 Redis 配置文件 /etc/redis/redis.conf 中进行如下配置:

bind 0.0.0.0
port 6379
daemonize yes
requirepass your_password

确保替换 your_password 为实际的密码。

配置 Sentinel 节点:

在两个 Sentinel 节点的配置文件 /etc/redis/sentinel.conf 中进行如下配置:

bind 0.0.0.0
port 26379
daemonize yes
sentinel monitor mymaster master_ip 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel auth-pass mymaster your_password

确保替换 master_ip 为主节点的 IP 地址,并将 your_password 替换为实际的主节点密码。这里的 sentinel monitor 指令用于指定要监视的 Redis 实例,sentinel down-after-milliseconds 指令用于设置 Sentinel 认为主节点失效所需的毫秒数,sentinel failover-timeout 指令用于设置 Sentinel 在进行故障转移前等待的毫秒数。

启动 Redis 和 Sentinel:

分别在主节点和 Sentinel 节点上启动 Redis 和 Sentinel 服务:

sudo systemctl start redis
sudo systemctl start redis-sentinel

验证 Sentinel 高可用:

可以使用以下命令连接到 Sentinel 节点并查看监视状态:

redis-cli -h sentinel_ip -p 26379
sentinel masters

如果一切正常,你应该能够看到 Sentinel 监视的主节点的信息。

现在,你已经成功地部署了 Redis Sentinel 高可用解决方案。 Sentinel 将监视主节点的状态,并在主节点发生故障时执行自动故障转移操作,以保证 Redis 服务的可用性。


集群部署:

以下是 Redis 集群部署的步骤,你可以按照这些步骤进行部署:

准备服务器:准备至少 6 台服务器,每台服务器上都要安装 Redis。确保服务器之间可以相互通信,并且防火墙配置允许 Redis 端口(默认为 6379)的访问。安装 Redis:在每台服务器上安装 Redis 服务器。可以使用以下命令在 Ubuntu 上安装:
sudo apt update
sudo apt install redis-server

配置 Redis 集群:

在每台服务器上的 Redis 配置文件 /etc/redis/redis.conf 中进行如下配置:

bind 0.0.0.0
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip your_ip_address
cluster-announce-port 6379
cluster-announce-bus-port 16379

确保替换 your_ip_address 为实际的 IP 地址。这里的 cluster-enabled 指令用于启用集群模式,cluster-config-file 指令用于指定集群配置文件的位置,cluster-node-timeout 指令用于设置节点超时时间,cluster-announce-ip、cluster-announce-port 和 cluster-announce-bus-port 指令用于指定节点在集群中的通信地址。

启动 Redis 服务:

在每台服务器上启动 Redis 服务:

sudo systemctl start redis

创建 Redis 集群:

使用 redis-cli 命令创建 Redis 集群。首先,在任一一台服务器上执行以下命令创建集群:

redis-cli --cluster create node1_ip:6379 node2_ip:6379 ... node6_ip:6379 --cluster-replicas 1

替换 node1_ip、node2_ip 等为实际的服务器 IP 地址。–cluster-replicas 1 参数表示为每个主节点创建一个从节点。

验证 Redis 集群:

连接到 Redis 集群并执行一些命令来验证集群是否正常工作:

redis-cli -c -h any_node_ip -p 6379

然后尝试执行一些 Redis 命令,例如 set、get 等,确保它们正常工作。

现在,你已经成功地部署了 Redis 集群。你可以通过访问任意一个节点来访问整个集群,并且 Redis 会自动进行数据分片和故障转移以保证高可用性和可扩展性。

nodes.conf介绍:

当你启用 Redis 集群时,集群状态信息会被保存在一个名为 nodes.conf 的配置文件中。这个文件通常位于 Redis 的工作目录下。例如,在 Ubuntu 系统上,Redis 的工作目录通常是 /var/lib/redis。

你可以通过以下命令找到 nodes.conf 文件的具体位置:

sudo find / -name nodes.conf

在默认情况下,如果你按照常规方式安装 Redis,nodes.conf 文件应该位于 /var/lib/redis 目录下。但是,如果你修改了 Redis 的配置文件中的 cluster-config-file 指令,那么文件可能会位于你指定的位置。

注意:不建议手动修改 nodes.conf 文件,因为这个文件是由 Redis 集群自动生成和维护的,手动修改可能导致不可预料的问题。

相关文章:

linux redis部署教程

单节点部署: 单节点部署 Redis 非常简单,只需要在一台服务器上安装 Redis 服务即可。以下是在 Linux 环境下的单节点部署步骤: 安装 Redis:打开终端,并执行以下命令来更新软件包列表并安装 Redis 服务器:…...

【Java】隐式锁(synchronized):如何解决餐厅等座的并发难题

当你走进一家熙熙攘攘的餐厅,准备享受一顿美味的晚餐时,你是否曾想过,这里正上演着一场场微观的线程战争?在这个场景中,每一张桌子都代表着珍贵的共享资源,而每一位顾客(线程)都在争…...

科技论文和会议录制高质量Presentation Video视频方法

一、背景 机器人领域,许多高质量的期刊和会议(如IEEE旗下的TRO,RAL,IROS,ICRA等)在你的论文收录后,需要上传一个Presentation Video材料,且对设备兼容性和视频质量有较高要求&#…...

Spring高手之路17——动态代理的艺术与实践

文章目录 1. 背景2. JDK动态代理2.1 定义和演示2.2 不同方法分别代理2.3 熔断限流和日志监控 3. CGLIB动态代理3.1 定义和演示3.2 不同方法分别代理(对比JDK动态代理写法)3.3 熔断限流和日志监控(对比JDK动态代理写法) 4. 动态代理…...

如何在Unity中使用设计模式

在 Unity 环境中,设计模式是游戏开发人员遇到的常见问题的通用解决方案。将它们视为解决游戏开发中特定挑战的经过验证的模板或蓝图。以下是一些简单易懂的设计模式: 1. 单例=> 单例模式确保一个类只有一个实例,并提供对该实例的全局访问点。在 Unity 中,可以使用单例模…...

基于springboot+vue+Mysql的旅游管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...

vue3+ts中判断输入的值是不是经纬度格式

vue3ts中判断输入的值是不是经纬度格式 vue代码&#xff1a; <template #bdjhwz"{ record }"><a-row :gutter"8" v-show"!record.editable"><a-col :span"12"><a-input placeholder"经度" v-model:v…...

python常用知识总结

文章目录 1. 常用内置函数1. ASCII码与字符相互转换 1. 常用内置函数 1. ASCII码与字符相互转换 # 用户输入字符 c input("请输入一个字符: ")# 用户输入ASCII码&#xff0c;并将输入的数字转为整型 a int(input("请输入一个ASCII码: "))print( c &qu…...

常用的启发式算法

A算法&#xff1a;在电子地图导航软件中&#xff0c;当你输入目的地时&#xff0c;软件就会利用A算法来计算从现在的位置到目的地的最佳路径。该算法兼顾了路径的优化以及计算速度&#xff0c;保证了结果的准确性以及反馈的实时性。 模拟退火算法&#xff1a;模拟退火算法常被…...

应该如何进行POC测试?—【DBA从入门到实践】第三期

在数据库选型过程中&#xff0c;为确保能够灵活应对数据规模的不断扩大和处理需求的日益复杂化&#xff0c;企业和技术人员会借助POC测试来评估不同数据库系统的性能。在测试过程中&#xff0c;性能、并发处理能力、存储成本以及高可用性等核心要素通常会成为大家关注的焦点&am…...

通过Clojure中的集合与序列谈谈抽象的重要

与君共勉&#xff1a;生命不息&#xff0c;学习不止&#xff0c;切忌浮躁&#xff0c;静下心来&#xff0c;每天进步一点点。 Clojure简介 Clojure是一门运行在JVM上面的Lisp方言&#xff0c;其它的Lisp方言还有Scheme、Common Lisp等。Lisp相关的著名书籍有《计算机程序的构…...

Rust---模式(Pattern)匹配

目录 模式是什么它用来做什么模式匹配和赋值为什么会有模式匹配模式匹配用在什么地方match 表达式if let表达式while let表达式for 循环let 语句函数参数不可驳模式匹配和可驳模式匹配模式是什么 在Rust中,模式(Pattern)是一种用于匹配和解构数据的语法结构。模式匹配中常用…...

MATLAB 计算点投影到平面上的坐标(59)

MATLAB 计算点投影到平面上的坐标(59) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 点投影到平面,计算投影点的坐标,下面提供MATLAB版本的计算程序,直接运行即可,内有验证数据,具体看代码即可。 二、算法实现 1.代码 代码如下(示例): % 平面上的三个点分…...

2024年MathorCup数学建模B题甲骨文智能识别中原始拓片单字自动分割与识别研究解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 B题 甲骨文智能识别中原始拓片单字自动分割与识别研究 原题再现&#xff1a; 甲骨文是我国目前已知的最早成熟的文字系统&#xff0c;它是一种刻在龟甲或兽骨上的古老文字。甲骨文具有极其重要的研究价值&#xff0c;不仅对中国文…...

嵌入式与移动物联网开发教程和案例

一、嵌入式与移动物联网概述 嵌入式系统是指嵌入到设备中的专用计算机系统&#xff0c;用于控制、监视或辅助设备操作。而移动物联网则是指通过物联网技术将各种智能设备与互联网连接起来&#xff0c;实现设备之间的互联互通和智能化管理。嵌入式与移动物联网技术的结合&#…...

AttachVoExample

目录 1、 AttachVoExample 1.1、 GeneratedCriteria 1.2、 addCriterion 1.3、 andFnameGreaterThanOrEqualTo 1.4、 GeneratedCriteria Atta...

图像处理特征提取

图像处理中的特征提取是指从图像数据中提取出具有区分性和代表性的特征&#xff0c;以用于图像分类、目标检测、图像匹配等任务。下面介绍几种常见的图像处理特征提取方法&#xff1a; 颜色特征&#xff1a;颜色是图像中最直观且重要的特征之一。常见的颜色特征提取方法包括颜色…...

前端大屏适配几种方案

一、方案一&#xff1a;remfont-size 动态设置HTML根字体大小和body字体大小&#xff0c;会使用到lib-flexible.js插件lib-flexible.js (function flexible(window, document) {var docEl document.documentElementvar dpr window.devicePixelRatio || 1// adjust body font…...

2011年认证杯SPSSPRO杯数学建模B题(第一阶段)生物多样性的评估全过程文档及程序

2011年认证杯SPSSPRO杯数学建模 B题 生物多样性的评估 原题再现&#xff1a; 2010 年是联合国大会确定的国际生物多样性年。保护地球上的生物多样性已经越来越被人类社会所关注&#xff0c;相关的大规模科研和考察计划也层出不穷。为了更好地建立国际交流与专家间的合作&…...

AcWing 793. 高精度乘法——算法基础课题解

AcWing 793. 高精度乘法 题目描述 给定两个非负整数&#xff08;不含前导 00&#xff09; A 和 B&#xff0c;请你计算 AB 的值。 输入格式 共两行&#xff0c;第一行包含整数 A&#xff0c;第二行包含整数 B。 输出格式 共一行&#xff0c;包含 AB 的值。 数据范围 1≤…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...