Redis安装教程(保姆级详细图文)-程序员宅基地

技术标签: java  linux  Redis  redis  nosql  


Redis系列:

Redis安装教程(保姆级详细图文)](https://rhysni.blog.csdn.net/article/details/123343579?spm=1001.2014.3001.5502)
布隆过滤器安装步骤
小记一手 “Redis持久化机制”
手把手带你实操 RDB & AOF
带你 “亲自体验“ Redis主从复制
“Redis哨兵“一撸到底 ,贼爽~
“Redis代理“之Twemproxy


Redis安装

  • Redis中文官网

  • Redis英文官网

  • 复制下载链接

    在这里插入图片描述

  • 安装wget

    yum install wget
    
  • 安装GCC编译器用于编译Redis源码

    yum install gcc
    
  • 创建一个文件夹用来安装应用(也可自己选择安装目录)

    mkdir soft
    
  • 进入soft文件夹

    cd soft/
    
  • 下载Redis源码包

    #链接可自行更换对应版本的链接即可,这边仅做演示
    wget http://download.redis.io/releases/redis-6.0.6.tar.gz
    
  • 解压源码包

    tar xzf redis-6.0.6.tar.gz
    
  • 进入解压后的目录

    cd redis-6.0.6/
    
  • 编译Redis源码

    make
    
  • 如果安装过程中报以下错误需要升级GCC
    在这里插入图片描述

  • 首先清除刚刚编译的内容

    make distclean
    
  • 升级GCC

    yum -y install centos-release-scl
    
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    
    scl enable devtoolset-9 bash
    
  • 最后重新执行make命令即可成功编译

    make
    

    在这里插入图片描述

  • 编译完成测试Redis是否安装成功

    ./src/redis-server
    

    在这里插入图片描述

    '正常安装启动后还没有结束,否则每次都要cd进目录手动启动,也不能后台运行将来会觉得很麻烦,我们需要将Redis做成服务形式来方便操作'
    
  • 首先Ctrl + C终止刚刚启动的Redis服务

  • 将Redis软件安装到操作系统中

    #PREFIX= 后面是安装目录,可自定义
    make install PREFIX=/opt/soft/redis
    
  • 接下来将Redis启动做成服务

  • 配置环境变量

    vi /etc/profile
    
  • 滚轮滚到最下面,随便找个空位置 按i键开启输入模式,配置上你的REDIS_HOME 路径就是刚刚安装的目录 配好按Esc退出键输入 :wq 回车执行保存并退出编辑

    export REDIS_HOME=/opt/soft/redis
    export PATH=$PATH:$REDIS_HOME/bin
    

    在这里插入图片描述

  • 保存完重新加载环境变量

    source /etc/profile
    
  • 进入源码文件utils目录

    cd utils/
    
  • 执行install_server

    ./install_server.sh
    
    • 如果这时报错
      在这里插入图片描述

    • 则编辑install_server找到以下代码注释掉即可

      vi install_server.sh
      

      在这里插入图片描述

    • 重新执行install_server

      ./install_server.sh
      
    • ️必须修改配置文件设置一个复杂密码,建议最好端口号也换掉,换一个别人想不到的。否则过一段时间甚至过一小会儿功夫你的Redis就会被攻击,所有的key都会被清除然后变成几个backup key 里面给你嵌一些脚本,顺便在你机器里挖个矿然后机器CPU狂飙对吧 再过一会儿阿里云或其他服务厂商就会给你来电提示你抓紧处理,如果你不处理就给你服务器关停等等问题。。。

    • ️ 最主要的是为了安全哈,万一你存了什么重要的数据在里面不保证给你清掉就不会备份泄露是吧。(比如给你备份下来,然后让你往xxx账户转 0.005比特币之类的,说到这里就问你怕不怕!不要问我怎么知道的,一看就是老受害者了是吧。。好了。。继续往下看,缓解一下尴尬)
      在这里插入图片描述

  • 现在可在操作系统任意地方执行services命令操作了

    service redis_6379 status
    service redis_6379 stop
    service redis_6379 start
    service redis_6379 status
    

    在这里插入图片描述

  • ️设置密码继续往下看

  • 运行多个进程补充说明

    `不想运行多实例的直接跳过此步骤`
    #如果是要运行多个进程则执行多次install_server 每走一步在命令行后面手动输入修改相关端口和路径
    
    ./install_server.sh
    

    在这里插入图片描述

  • 查看Redis进程

    ps -ef | grep redis
    

    在这里插入图片描述

    • 这时候你用远程连接工具连接是不是发现连接不上?连不上就对了,因为我们还没有修改Redis的配置文件
    • ️修改我们创建的多个进程的conf文件。。。路径自己安装的自己记得哈。。。忘记的话咱也负不起责啊。。。
      vi /etc/redis/6379.conf
      vi /etc/redis/6380.conf
      
    • 找到 bind 127.0.0.1 将这行注释掉,因为这里的bind指的是只有指定的网段才能访问这个redis 注释掉后,就没有这个限制了或者bind自己需要配置的网段
    • 找到protected-mode 设置为no 在redis3.2.3版本后默认是设置成yes的,防止了远程访问
    • 找到requirepass foobared 将前面#号去掉,并将foobared改为自己的密码
      在这里插入图片描述在这里插入图片描述
  • 修改完按Esc输入 :wq保存并退出编辑

  • 再修改vi /etc/init.d/redis_6379配置文件,给shutdown命令配置上刚设置的密码
    在这里插入图片描述

    将 $CLIEXEC -p $REDISPORT shutdown 修改为 $CLIEXEC -a 密码 -p $REDISPORT shutdown
    :wq退出并保存
    ️ 如果不操作此步骤 由于我们设置了Redis连接密码 那后续将无法用service命令停止Redis服务了,会一直报错无权限

  • 重启Redis

    service redis_6379 restart
    service redis_6380 restart
    
  • 用Redis连接工具再次尝试连接成功

    在这里插入图片描述

  • 如果这时候还是不能连接那再考虑两个地方

    #服务器的安全组规则是否配置
    #防火墙对应端口是否放行
    

如有帮助,希望能留下宝贵的三连~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44977377/article/details/123343579

智能推荐

2021 开发何不换种姿势 LLVM+clang+Meson+ninja_ninja 和clang-程序员宅基地

文章浏览阅读1.7k次。目前常见的C/C++开发多数使用的是gnu+makefile的开发方式,每次开发的时候编译的配置文件写的头疼.而使用cmake虽然可以自动辅助生成makefile文件,并且可移植性也变得更好的,不过也常常逃不掉要经常手动修改的时候自己的cmake文件的命运,那有没有更高效的方法呢?叮叮~LLVM+clang+Menson+ninja 豪华大礼包值得了解一下**LLVM和Clang 原意为 low level virtual machine,不过实际上现在的LLVM从来没有用过虚拟机,用于编译器的链_ninja 和clang

C语言实现的PLC软定时器 上升沿,下降沿判断算法及功能_c语言上升沿和下降沿程序-程序员宅基地

文章浏览阅读7.2k次,点赞18次,收藏21次。一、序言 使用单片机开发开发过程控制中,经常会用到定时,变量上升沿动作,下降沿动作,在业余做了个单独工具处理模块二、C代码组成如下共有.h文件和.c文件组成。2.1 F00200_utils.h代码构成#ifndef __F00200_UTILS_H__#define __F00200_UTILS_H__#include "stm32f10x.h"#define P..._c语言上升沿和下降沿程序

七种常见的逻辑门真值表_各大逻辑门真值表-程序员宅基地

文章浏览阅读6.2w次,点赞47次,收藏289次。(verilog学习笔记一之常见的逻辑门真值表)1、 与门:所有输入为高时,才会有输出高。逻辑函数表示为F=A*B。输入A输入B输出Y0000101001112、 或门:所有输入为低时,才会有输出低。逻辑函数表示为F= A + B。输入A输入B输出Y0000111011..._各大逻辑门真值表

FreeSWITCH实现AMR/AMR-WB编解码_amrwbenc-程序员宅基地

文章浏览阅读1.9k次。1、写在前面FreeSWITCH对AMR和AMR-WB两种编码格式默认为passthough状态,若想对AMR和AMR-WB进行编解码,需对mod_amr和mod_amrwb两个模块重新编译。本文介绍通过源码编译所需的opencore-amr和ov-amrwbenc两个依赖库。当然也可使用yum等工具直接安装libopencore-amrnb.so、libopencore-armwb.so、libvo-amrwbenc.so.本文内涉及的所有路径,均可根据实际情况进行更改,不局限于root用户。2、_amrwbenc

c++语言实现字符分割,C++常用字符串分割方法实例汇总-程序员宅基地

文章浏览阅读824次。本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下:我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。一、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始..._c/c++按指定字符分割

凸包最小外接矩形-程序员宅基地

文章浏览阅读3.4k次。获取点的凸包之后,可以实现以下获取凸包的最小外接矩形,获取思路:1、以其中两点作为矩形的一条边2、以该边作为x轴基坐标,并做y轴基坐标3、将所有点以该基坐标进行旋转,找到以该边为基准的所有点的x坐标的最小和最大值,既y轴的最大值4、获取该范围的面积值,并获取边界数据5、重复每条边,并每次判断保存最小面积及参数6、最终输出最小外接矩形的参数参考:https://blog.csdn.ne..._凸包最小外接矩形

随便推点

css:阴影效果box-shadow-程序员宅基地

文章浏览阅读450次。css:阴影效果box-shadow

C语言程序设计第六次作业——循环结构(2)-程序员宅基地

文章浏览阅读377次。(一)改错题序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数)。  输入输出样例:  Input eps:1E-4  s = 0.835699  错误信息:  错误原因:第17行while后面缺少;  改正方法:添加;  错误信息:  错误原因:输出结果与要求不符。  改正方法..._本关任务:输入一个正实数 eps,计算并输出下式的值,精确到最后一项的绝对值小于 ep

用Python实现自动化操作Android手机-程序员宅基地

文章浏览阅读2.2w次,点赞22次,收藏246次。本文原创作者:鲲之鹏(http://www.site-digger.com)本文原始链接:http://www.site-digger.com/html/articles/20180912/664.h..._安卓设备python自动化脚本中如何回到默认页面

ThinkPad产品进入BIOS的方法_thinkpad x13进bios-程序员宅基地

文章浏览阅读3w次,点赞5次,收藏17次。操作步骤:BIOS=ThinkPad Setup 程序一、ThinkPad笔记本产品(T\X\W\P\L,E系列部分除外)例如T14\T15\T490\T590\X13\X390,启动计算机,显示 ThinkPad 徽标(LOGO)时, 按 F1 启动 ThinkPad Setup 程序(BIOS)。注意事项:1、如果需要输入超级用户密码, 请输入正确的密码。 也可按 Enter 跳过密码提示并启动ThinkPad Setup 程序。 如果不输入密码, 则无法更改..._thinkpad x13进bios

HDU Online Teaching ACM Steps 1.1.2 A+B for Input-Output Practice (II)_acm steps input output steps-程序员宅基地

文章浏览阅读146次。#include<stdio.h>int main(){ int a,b,n; scanf("%d",&n); while(n--) { scanf("%d %d",&a,&b); printf("%d\n",a+b); } return 0;}_acm steps input output steps

‘sqlite3.DatabaseError: malformed database schema’-程序员宅基地

文章浏览阅读2k次。使用python 2.7和chrome的sqlite3数据库交互时,莫名奇妙的报'sqlite3.DatabaseError: malformed database schema (is_transient)'的错误。 后经排查发现,新版chrome支持的sqlite3版本必须在3.8以..._malformed database schema

推荐文章

热门文章

相关标签