Linux平台Redis安装总结

本文测试验证的操作系统为CentOS Linux release 7.8.2003 (Core),Redis版本为redis-6.0.8。 敬请注意,如有不同,请以实际情况为准。

下载编译Redis

注意:redis 执行了make install后,redis的可执行文件都会自动复制到/usr/local/bin目录下

make 编译时,如果提示”It ‘s a good idea to run ‘make test’ “则代表编译安装成功。

创建普通用户

创建目录存放redis命令和配置文件

我们将redis主目录放在/usr/local下面,当然,你可以将其放置在其他目录下,例如/home/redis 下

mkdir -p /usr/local/redis/bin

mkdir -p /usr/local/redis/etc

移动文件

修改目录的Owner

Redis安全&配置

1 :在redis.conf配置文件文件中绑定本机IP

bind 127.0.0.1 192.168.xxx.xxx

如果服务器有多个IP,可限定Redis Server监听的IP;也可以通过Redis配置项bind,可同时绑定多个IP。如上所示。

默认情况下,如果没有指定”bind “配置指令,Redis会监听来自服务器上所有可用网络接口的连接。所以一般应该限定本机访问或特定IP访问。

2 :指定日志记录级别

默认情况下,日志记录级别为notice,这个是生产环境的默认配置。可以根据具体需要调整日志记录级别。

3 :配置log文件的地址

log 文件位置,默认值为stdout,使用”标准输出”,默认后台模式会输出到/dev/null

mkdir /var/log/redis

chown -R redis:redis /var/log/redis/

logfile “/var/log/redis/redis.log”

注意:如果你设置了redis日志的路径,必须确保该路径已经存在。例如,当前案例,不存在这样的目录,那么我们先创建该目录,并将其owner修改为redis用户

mkdir /var/log/redis

chown -R redis:redis /var/log/redis

4 :后台启动的话需要修改redis.conf文件,daemonize no —- >daemonize yes。

5 :修改默认端口

Redis 服务端默认链接端口是6379,可以修改端口号,避免使用熟知端口,降低被初级扫描的风险。

port xxxxx

这个简单测试,使用端口6676

port 6676

6 :默认情况下,Redis是无需密码登录的。这意味着你无需通过密码验证就可以直接连接到Redis服务,这样其实是非常不安全的,所以建议设置密码验证。

注意:Redis 因查询效率高,auth这种命令每秒能处理10w次以上,简单的Redis密码极容易为攻击者暴破。所以建议设置一个超长(24位以上)的密码。

requirepass 75612a867ceeb452924c98778caa959c37120bfff6582aaad48298acbf320b28

7 :尽量将Redis限制在内网使用,避免公网访问,另外设置iptables 策略,仅允许指定的IP访问Redis服务。

如果防火墙是firewalld,可以参考下面命令

8:限制redis文件目录访问权限

设置redis的主目录权限为700;

如果redis配置文件独立于redis主目录,权限修改为600,因为Redis密码明文存储在配置文件中。

此处案例中,我们将redis的日志放置在/var/log/redis目录下,所以也一并修改redis日志目录的访问权限

启动redis服务

禁止使用root用户启动redis,使用普通用户启动redis

如果以root用户启动的话,可以使用下面脚本,但是出于安全考虑,一般不建议使用root用户启动redis。

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

我们使用redis用户启动Redis服务

注意:如果以redis用户启动,有时候会遇到”Can’t chdir to ‘./’: Permission denied “这类错误

出现这个错误是因为我们没有修改参数dir的值(默认为./),而没有换到redis有权限访问的目录,然后执行上面shell命令。遇到权限问题。

验证Redis服务启动情况

Original: https://www.cnblogs.com/kerrycode/p/15136790.html
Author: 潇湘隐者
Title: Linux平台Redis安装总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/601317/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 得体的注释,让我总能想起TA

    作为一个技术TL,在排查生产问题时,我经常要周转于各个工程里。系统和服务多起来后,要我了解每一段代码具体的来龙去脉逐渐几乎不可能了。 例如,今天,我要查一下调用某个三方接口所配置的…

    数据库 2023年6月9日
    0177
  • SQL语句实战学习

    参考:https://zhuanlan.zhihu.com/p/38354000再次感谢作者的整理!! 1.数据已提前准备好了,已知有如下4张表:学生表:student 成绩表:s…

    数据库 2023年6月16日
    085
  • 系统架构的11条原则

    基本原则 原则一:价值为王 解析: 价值为王的另一种说法叫做YAGNI。YAGNI 是 You aren’t gonna need it 的缩写。该原则的基本含义就是,…

    数据库 2023年6月6日
    099
  • 配置中心的设计-nacos vs apollo

    和 apollo 一样,nacos 也是一款配置中心,同样可以实现配置的集中管理、分环境管理、即时生效等等。不过,nacos 还具备了服务发现的功能。 分析 apollo 时,我们…

    数据库 2023年6月6日
    0109
  • 局域网内访问子网服务(访问电脑虚拟机中的服务)

    局域网内访问子网服务 问题描述: 同一个路由器(172.18.0.0)下面有两台电脑A(172.18.40.45)和B (172.18.44.173) ,在B电脑上安装虚拟机 ,使…

    数据库 2023年6月9日
    0101
  • 运维DBA要不要学python

    我个人认为是:要 现在python在运维数据库的工作中主要用在 1、编写一些运维脚本 2、编写运维管理平台 3、研究互联网大厂的运维脚本/工具并应有 特别是运维开源数据库的时候,第…

    数据库 2023年6月9日
    093
  • zabbix监控配置项配置

    1.手动添加监控项 2. 使用模板添加监控项 3.0 邮件告警 创建主机并加入主机组 1.手动添加监控项 即获取数据的监控指标增加用户,修改用户,删除用户etc/passwd文件都…

    数据库 2023年6月14日
    095
  • python实现Mysql数据库批量新增数据

    一、批量插入数据的场景 二、插入数据的工具选择 三、选择Python进行批量插入 Python实现批量插入Mysql数据库数据 一、批量插入数据的场景 在进行数据压力时需要进行大数…

    数据库 2023年6月6日
    0107
  • 不扒瞎,这个程序让我从300s优化到了10s

    /*** RedisTemplate配置* @param lettuceConnectionFactory* @return*/ @Be…

    数据库 2023年6月9日
    065
  • Python学习笔记(八)–Django框架

    1.什么是框架? 框架就是程序的骨架,主体结构,也是个半成品。 2.框架的优缺点 可重用、成熟,稳健、易扩展、易维护。 3.Python中常见的框架 (1)大包大揽Django被官…

    数据库 2023年6月16日
    0120
  • day41-网络编程03

    Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类 DatagramSocket和 DatagramPacket[数&#x636…

    数据库 2023年6月11日
    0108
  • LeetCode 344. 反转字符串

    编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 //输入一个字符串,输出它的倒序字符串 input: Hello output: olleH …

    数据库 2023年6月11日
    087
  • JVM内存结构–新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数

    一、为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都…

    数据库 2023年6月16日
    0117
  • 20 年老程序员告诉你的 20 条编码原则

    我从 1999 年就开始了编程生涯,到今年已经有 20 多年了。我先是从 Basic 开始,很快转到了 Pascal 和 C 语言,然后又学习了面向对象编程语言 Delphi 和 …

    数据库 2023年6月14日
    099
  • DM8数据库备份还原的原理及应用

    ▷▶介质管理层(MML) DM8根据自身实现自定义了一套API接口SBT来负责备份数据在存储介质上的实际读写操作。 整个存储介质上的读写操作,由MML调用SBT完成。 目前 DM8…

    数据库 2023年6月11日
    088
  • 从 KeyStore 中获取 PublicKey 和 PrivateKey

    KeyStore(译:密钥存储库) 代表用于加密密钥和证书的存储设施。 KeyStore 管理不同类型的 entry(译:条目)。每种类型的 entry 都实现了 KeyStore…

    数据库 2023年6月14日
    0109
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球