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)

大家都在看

  • 2022-8-11 网络编程(网络通信)

    网络协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这…

    数据库 2023年6月14日
    0109
  • 02-MySQL高级

    * ALTER TABLE st2 AUTO_INCREMENT = 1000; INSERT INTO st2 (NAME, age) VALUES (‘校长’, 22); AL…

    数据库 2023年5月24日
    084
  • 最左前缀有手就会,那索引下推呢?

    联合指数的最左侧前缀原则属于高频面试题,大多数学生都必须知道,但不符合最左侧前缀的部分会发生什么(指数向下推) [En] The leftmost prefix principle…

    数据库 2023年5月24日
    087
  • Spring Boot中异步请求和异步调用

    一、SpringBoot中异步请求的使用 1、异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在…

    数据库 2023年6月14日
    094
  • DASCTF7月misc–ez_forenisc

    内存镜像解析,得到bitlocker密钥 passware解析内存镜像,得到用户名密码 <span class=”ne-text”>550f37c7748e</s…

    数据库 2023年6月11日
    073
  • Zabbix-(1)安装

    环境: VMware Workstation Pro 16.0 &#x7248;&#x672C; &#x7CFB;&#x7EDF; Centos7 …

    数据库 2023年6月14日
    073
  • 双色球系统开发

    Java对彩票双色球系统开发的简单实现 双色球系统 案例: 中奖条件及奖金表 代码及解释 main方法代码: public static void main(String[] ar…

    数据库 2023年6月16日
    0122
  • 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在 Linux中安装配置 MongoDB 说实话为什么会装 Mong…

    数据库 2023年6月11日
    0167
  • 刚入职没多久,连夜手写了一个代码生成器,项目开发速度瞬间屌炸了!

    一、简介 最近刚入职一个新团队,还没来得及熟悉业务,甲方爸爸就要求项目要在2个月内完成开发并上线! 本想着往后推迟1个月在交付,但是甲方爸爸不同意,只能赶鸭子上架了! 然后根据业务…

    数据库 2023年6月14日
    0109
  • fiddler相关随笔(网络异常、证书问题、配置代理)

    fiddler中遇到的坑 最近用fiddler实在是太频繁,经常开关,也不清理之前的代理配置,导致很多时候,电脑连不上网,大概有以下场景 * fiddler提示某网站要求上传相关证…

    数据库 2023年6月6日
    089
  • 【Java基础】 — Java遍历List四种方法的效率对比 【转载】

    1.遍历方法简介 Java遍历List的方法主要有四种: *for each *Iterator *loop without size *loop with size 注:这里我们…

    数据库 2023年6月6日
    0134
  • openpyxl使用总结

    设置表头单元格的颜色 fill = PatternFill("solid", fgColor=’FF000000′) font = Font(color=’00…

    数据库 2023年6月9日
    087
  • MySQL实战45讲 18

    18 | 为什么这些SQL语句逻辑相同,性能却差异巨大? 在 MySQL 中,有很多看上去逻辑相同,但性能却差异巨大的 SQL 语句。对这些语句使用不当的话,就会不经意间导致整个数…

    数据库 2023年5月24日
    0100
  • 浅谈一下“敏捷开发”

    为什么需要敏捷开发 在以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多,测试了半年多,修改Bug用了半年多。总计花了很长…

    数据库 2023年6月14日
    097
  • 设计模式之(2)——工厂方法模式

    定义:工厂方法模式又称为工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类来定义创建对象的接口,而子类负责生成具体的对象; 主要作用:将类的实例化延迟到工厂类的子类中进行,由…

    数据库 2023年6月14日
    0106
  • show engine innodb status 输出结果解读

    show engine innodb status 输出结果解读 基于MySQL 5.7.32最近想整理一下show engine innodb status的解读,但是发现中文互…

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