openEuler 22.03 安装 Redis 6.2.9,支持离线安装

目录

    • 一、环境检查
      • 1.1 必要环境检查
      • 1.2 在线安装(有网络)
      • 1.3 离线安装(无网络)
    • 二、下载Redis
      • 2.1 在线下载
      • 2.2 离线下载
    • 三、安装Redis
    • 四、配置Redis服务
    • 五、开机自启服务
    • 六、开放防火墙端口
    • 七、常用命令

一、环境检查

1.1 必要环境检查

# 查看 gcc 版本
[root@openeuler ~]# gcc --version
# 查看 make 版本
[root@openeuler ~]# make --version
# 查看 tcl 版本
[root@openeuler ~]# tclsh
% info patchlevel
# 查看 gcc make tcl 位置
[root@openeuler ~]# readlink -f $(which gcc make tclsh)

1.2 在线安装(有网络)

[root@openeuler ~]# sudo dnf install -y gcc* make tcl tcl-devel

1.3 离线安装(无网络)

1.3.1 软件包下载
openEuler软件中心:https://easysoftware.openeuler.org/zh/rpm
华为开源镜像站:http://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
华中科技大学镜像站:https://mirrors.hust.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/

序号RPM包
1gcc-10.3.1-62.oe2203sp4.x86_64.rpm
2gcc-c+±10.3.1-62.oe2203sp4.x86_64.rpm
3gcc-gdb-plugin-10.3.1-62.oe2203sp4.x86_64.rpm
4gcc-gfortran-10.3.1-62.oe2203sp4.x86_64.rpm
5gcc-objc+±10.3.1-62.oe2203sp4.x86_64.rpm
6gcc-objc-10.3.1-62.oe2203sp4.x86_64.rpm
7gcc-plugin-devel-10.3.1-62.oe2203sp4.x86_64.rpm
8gcc_secure-1.0-0.13.oe2203sp4.x86_64.rpm
9make-4.3-4.oe2203sp4.x86_64.rpm
10make-devel-4.3-4.oe2203sp4.x86_64.rpm
11tcl-8.6.12-4.oe2203sp4.x86_64.rpm
12tcl-devel-8.6.12-4.oe2203sp4.x86_64.rpm

1.3.1 软件包安装

# 切换到 RPM 包所在目录,假设 RPM 包存放在 /home/rpm_packages 目录下
[root@openeuler ~]# cd /home/rpm_packages
# 正常安装命令
[root@openeuler rpm_packages]# sudo rpm -ivh *.rpm --nodeps
# 强制安装命令
# 重要事项:没把握的话,千万不要用下面这个命令,这个命令会忽略依赖和兼容性,可能会导致基础组件被卸载掉。
[root@openeuler rpm_packages]# sudo rpm -Uvh *.rpm --nodeps --force

二、下载Redis

2.1 在线下载

# 创建安装目录
[root@openeuler ~]# mkdir /mnt/redis
[root@openeuler ~]# cd /mnt/redis/
# 在线下载安装包
[root@openeuler redis]# wget https://download.redis.io/releases/redis-6.2.9.tar.gz

2.2 离线下载

下载地址:https://download.redis.io/releases/
上传到 /mnt/redis 目录下
在这里插入图片描述

三、安装Redis

# 进入安装目录
[root@openeuler ~]# cd /mnt/redis/
# 解压安装包
[root@openeuler redis]# tar -zxvf redis-6.2.9.tar.gz
# 进入解压目录
[root@openeuler redis]# cd /mnt/redis/redis-6.2.9/
# 编译
[root@openeuler redis-6.2.9]# make
# 执行安装并指定安装目录
[root@openeuler redis-6.2.9]# sudo make install PREFIX=/mnt/redis/redis6.2.9
# 进入安装目录
[root@openeuler redis-6.2.9]# cd /mnt/redis/redis6.2.9/
[root@openeuler redis6.2.9]# 

四、配置Redis服务

4.1 创建安装文件夹

# 配置文件路径
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/conf
# 日志存放路径
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/log
# 数据持久化路径
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/redis_data
# Pid存放路径
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/pidfile

4.2 修改redis.conf配置文件

# 复制redis.conf配置文件
[root@openeuler redis6.2.9]# cp -a /mnt/redis/redis-6.2.9/redis.conf /mnt/redis/redis6.2.9/conf/
# 编辑redis.conf配置文件
[root@openeuler redis6.2.9]# vi /mnt/redis/redis6.2.9/conf/redis.conf# 不限制IP访问,将127.0.0.1修改成0.0.0.0
# 为了安全,生产环境建议绑定固定IP
# bind 127.0.0.1 -::1
bind 0.0.0.0 -::1
# 修改端口号,生产环境建议修改
# port 6379
port 6399
# 开启后台运行
daemonize yes
# 修改pidfile存放路径
# pidfile /mnt/redis/redis6.2.9/pidfile/redis_6379.pid
pidfile /mnt/redis/redis6.2.9/pidfile/redis_6399.pid
# 修改日志存放路径,生产环境建议修改
logfile "/mnt/redis/redis6.2.9/log/redis.log"
# 持久化文件名,可以默认
dbfilename dump.rdb
# 修改数据持久化路径,生产环境建议修改
dir /mnt/redis/redis6.2.9/redis_data
# 设置密码,生产环境建议修改
requirepass 123456

4.3 启动服务,客户端访问

# 进入bin目录
[root@openeuler redis6.2.9]# cd /mnt/redis/redis6.2.9/bin/# 启动后台服务
[root@openeuler bin]# ./redis-server /mnt/redis/redis6.2.9/conf/redis.conf# 客户端访问验证
# 未指定端口
[root@openeuler bin]# ./redis-cli
127.0.0.1:6379> auth 123456           ## 输入前面设置的密码
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> quit                  ## 退出客户端
127.0.0.1:6379> shutdown              ## 停止redis后台服务
# 指定端口6399
[root@openeuler bin]# ./redis-cli -p 6399
127.0.0.1:6399> auth 123456
OK
127.0.0.1:6399> ping
PONG
127.0.0.1:6399> # 查看redis进程
[root@openeuler bin]# ps -ef|grep redis
[root@openeuler bin]# netstat -tlnp | grep 6379
[root@openeuler bin]# netstat -tlnp | grep 6399
# 杀掉进程
[root@openeuler bin]# kill -9 进程号

五、开机自启服务

5.1 配置SELinux安全上下文
注意:如果不配置SELinux安全上下文,后续启动系统脚本时报错【code=exited, status=203/EXEC】

# 恢复默认上下文(针对自定义路径)
[root@openeuler bin]# sudo semanage fcontext -a -t bin_t "/mnt/redis/redis6.2.9/bin(/.*)?"
[root@openeuler bin]# sudo semanage fcontext -a -t etc_t "/mnt/redis/redis6.2.9/conf(/.*)?"
[root@openeuler bin]# sudo restorecon -Rv /mnt/redis/
# 验证标签
[root@openeuler bin]# ls -Zd /mnt/redis/redis6.2.9/bin/redis-server
# 应显示类似:system_u:object_r:bin_t:s0

5.2 配置开机自启脚本

# 创建自启动脚本
[root@openeuler bin]# sudo vi /etc/systemd/system/redis.service# =============================================================================
# 复制粘贴以下内容:
# /mnt/redis/redis6.2.9/bin需要按照实际情况修改成自己的地址
[Unit]
Description=Redis Server
After=network.target[Service]
ExecStart=/mnt/redis/redis6.2.9/bin/redis-server /mnt/redis/redis6.2.9/conf/redis.conf
Restart=always
PrivateTmp=true
Type=forking[Install]
WantedBy=multi-user.target
# =============================================================================# 注意:要保证redis后台服务未启动
# 设置开机自启
[root@openeuler bin]# systemctl daemon-reload
[root@openeuler bin]# systemctl enable redis
# 启动Redis服务
[root@openeuler bin]# systemctl start redis
# 查看服务状态
[root@openeuler bin]# systemctl status redis

六、开放防火墙端口

# 查询端口是否开放
[root@openeuler ~]# sudo firewall-cmd --query-port=6379/tcp
[root@openeuler ~]# sudo firewall-cmd --query-port=6399/tcp
# 开放端口(TCP协议)
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=6399/tcp --permanent
# 重新加载防火墙规则
[root@openeuler ~]# sudo firewall-cmd --reload
# 验证端口是否开放
[root@openeuler ~]# sudo firewall-cmd --zone=public --list-ports
# 查看所有端口
[root@centosServer ~]# sudo netstat -nlpt

七、常用命令

# 启动redis服务
systemctl start redis.service
# 查看服务状态
systemctl status redis.service
# 重启服务
systemctl restart redis.service
# 停止服务
systemctl stop redis.service
# 开机自动启动
systemctl enable redis.service
# 取消开机自动启动
systemctl disabled redis.service
# 查看进程
ps -ef | grep redis

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

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

相关文章

MySQL基本查询(二)

文章目录 UpdateDelete插入查询结果(select insert)聚合函数分组聚合统计 Update 1. 语法: set后面加列属性或者表达式 UPDATE table_name SET column expr [, column expr …][WHERE …] [ORDER BY …] [LIMIT …] 案例 将孙悟空同学的…

Android Framework学习二:Activity创建及View绘制流程

文章目录 Window绘制流程Window Manager Service(WMS)SurfaceSurfaceFlinger 安卓View层次结构ActivityPhoneWindowActivity与PhoneWindow两者之间的关系ViewRootImplDecorViewDecorView 的作用DecorView 的结构总结 Activity创建流程View invalidate调用…

基于ssm的智慧养老平台(全套)

一、系统架构 前端:jsp | js | jquery | css 后端:spring | springmvc | mybatis 环境:jdk1.8 | mysql | maven | tomcat 二、代码及数据库 三、功能介绍 01. 登录 02. 管理员-主页 03. 管理员-个人中心 04. 管理员-…

计算机视觉技术的发展历程

计算机视觉技术的发展历程可以分为以下几个阶段: 早期探索阶段(1960s-1980s) 1960年代:计算机视觉的概念开始形成,研究者尝试让计算机识别和理解图像,主要集中在基础的图像处理,如边缘检测和特…

2025五一杯B题五一杯数学建模思路代码文章教学: 矿山数据处理问题

完整内容请看文章最下面的推广群 问题1. 根据附件1中的数据和,建立数学模型,对数据A进行某种变换,使得变换后的结果与数据尽可能接近。计算变换后的结果与数据的误差,并分析误差的来源(如数据噪声、模型偏差等&#xf…

.NET 平台详解

什么是 .NET? .NET 是一个由微软开发的跨平台、开源的开发者平台,用于构建多种类型的应用程序。它提供了一致的编程模型和丰富的类库,支持多种编程语言(如 C#、F#、Visual Basic)。 .NET 的核心组成 运行时环境 CLR …

ICRA 2025 基于触觉反馈的闭环分层控制框架——开放环境下通用门开启的智能规划与操作

在机器人领域,让机器人在开放环境中与日常物品交互一直是个难题,其中开门任务极具挑战性。门的设计、机械结构和推拉方式多种多样,现有方法存在诸多局限。基于运动学的方法依赖已知门模型,面对未知门时难以发挥作用;几…

阿里云服务迁移实战: 07-其他服务迁移

概述 当完成了服务器、数据库、IP、OSS等迁移后,剩下的就是其他服务了。 短信网关 短信模板只能一个个创建,不能批量操作。但是可以使用以下方式优化操作。 在原账号导出模板列表 概述 当完成了服务器、数据库、IP、OSS等迁移后,剩下的…

(六——下)RestAPI 毛子(Http resilience/Refit/游标分页/异步大文件上传)

文章目录 项目地址一、Refit1.1 安装需要的包1.2 创建接口IGitHubApi1.3 创建RefitGitHubService1. 实现接口2. 注册服务 1.4 修改使用方法 二、Http resilience2.1 安装所需要的包2.2 创建resilience pipeline简单版2.3 创建全局的resilience处理1. 创建清理全局ResilienceHan…

leetcode 977. Squares of a Sorted Array

题目描述 双指针法一 用right表示原数组中负数和非负数的分界线。 nums[0,right-1]的是负数&#xff0c;nums[right,nums.size()-1]是非负数。 然后用合并两个有序数组的方法。合并即可。 class Solution { public:vector<int> sortedSquares(vector<int>&…

在 API 模拟阶段:Apipost vs. Faker.js vs. Postman —— 为什么 Apipost 是最优选择

在构建 API 的过程中&#xff0c;模拟数据的能力至关重要。就像你在做饭时等待食材送达一样——没有原料&#xff0c;菜也没法完成。 但是&#xff0c;当你的后端还在开发中&#xff0c;而前端又急需真实的 API 响应进行开发时&#xff0c;该怎么办&#xff1f;这时候&#xf…

一种快速计算OTA PSRR的方法(Ⅰ)

序言:最近碰到了一道有趣的习题&#xff0c;让我重新思考了下如何计算运放的PSRR&#xff0c;再结合相关论文&#xff0c;现将所思所想分享出来&#xff0c;欢迎大家讨论。 1.从Razavi的一道习题引入 题目要求计算电路的PSRR&#xff0c;已知PSRR定义为信号增益除以电源增益&am…

第十二届蓝桥杯 2021 C/C++组 空间

目录 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 思路&#xff1a; 思路详解&#xff1a; 代码&#xff1a; 代码详解&#xff1a; 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 空间 - 蓝桥云课 思路&#xff1a; 思路详解&#…

TensorFlow深度学习实战——基于循环神经网络的情感分析模型

TensorFlow深度学习实战——基于循环神经网络的情感分析模型 0. 前言1. 数据处理2. 模型构建与训练3. 模型评估相关链接 0. 前言 情感分析 (Sentiment Analysis) 是自然语言处理中的一项技术&#xff0c;旨在识别和提取文本中的情感信息&#xff0c;通常是分析一段文本中是否存…

eslint相关报错收集

[vue/no-multiple-template-root]The template root requires exactly one element.eslint-plugin-vuejsx报错&#xff1a;jsx报错Parsing error: Unexpected token &#xff1c;eslint&#xff1b;ts报错&#xff1a;Parsing error: Unexpected token {eslintmodule报错 ‘mod…

【论文推荐】深度学习赋能地质灾害分析:数据、模型、应用与机遇(用于地质灾害分析的深度学习:数据源)

【论文推荐】深度学习赋能地质灾害分析&#xff1a;数据、模型、应用与机遇&#xff08;用于地质灾害分析的深度学习&#xff1a;数据源&#xff09; 【论文推荐】深度学习赋能地质灾害分析&#xff1a;数据、模型、应用与机遇&#xff08;用于地质灾害分析的深度学习&#xf…

判断用户选择的Excel单元格区域是否跨页?

VBA应用程序开发过程中&#xff0c;经常需要处理用户选中的单元格区域&#xff0c;有的应用场景中&#xff0c;需要限制用户选中区域位于同一页中&#xff08;以打印预览显示的分页划分&#xff09;&#xff0c;但是VBA对象模型中并没有提供相应的接口&#xff0c;用于快速查询…

题解:洛谷 CF2091E Interesting Ratio

思路推导 我们先对 32 32 32 和 96 96 96 进行二进制拆分。 相同部分&#xff08;用 α \alpha α 表示&#xff09;&#xff1a; 5 5 5 个 2 2 2。 不同部分&#xff08;用 β \beta β 表示&#xff09;&#xff1a; 1 1 1 和 3 3 3。 gcd ⁡ ( 32 , 96 ) \gcd(32,9…

linux安装配置PostgreSQL

环境&#xff1a;centos7、SpringBoot、PostgreSQL15 PostgreSQL: Linux downloads (Red Hat family) PostgreSQL安装 1.安装 PostgreSQL Yum 仓库 RPM 包 sudo rpm -ivh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noar…

docker安装jenkins v2.504.1集群

1 概述 Jenkins是一款开源的、基于Java开发的持续集成&#xff08;CI&#xff09;与持续交付&#xff08;CD&#xff09;工具&#xff0c;旨在通过自动化构建、测试和部署流程&#xff0c;提升软件开发效率与质量。 ‌ 1.1 核心功能与特点 持续集成与交付‌ Jenkins支持自动化…