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

Redis 配置与启动指南

Redis 配置与启动指南

导言

Redis 是一个高性能的内存数据库,广泛应用于缓存和数据存储场景。本文将详细介绍如何通过配置文件启动 Redis,并进行关键配置调整,确保其在 Linux 环境下的安全性和可访问性。这篇指南特别适合初学者或希望在生产环境中部署 Redis 的开发者。


正文

1. 使用配置文件启动 Redis(可以先不启动,配置完再启动,主要想写在最前面提醒大家一定要通过配置文件启动redis,只用redis-server命令会使用默认配置,外部访问会不成功!!!)

要通过配置文件启动 Redis,可以使用以下命令:

redis-server /path/to/redis.conf
  • 说明/path/to/redis.conf 是 Redis 配置文件的路径。你需要将其替换为实际路径,例如:
    • /etc/redis/redis.conf(Linux 系统中的常见默认路径)
    • ./redis.conf(如果配置文件在当前工作目录下)

启动后,Redis 将根据配置文件中的设置运行。


2. 关闭 Linux 防火墙(以 CentOS 7 为例)

在配置 Redis 之前,确保防火墙不会阻止外部连接。以下是 CentOS 7 上管理防火墙的常用命令:

2.1 查看防火墙状态
firewall-cmd --state
  • 作用:检查防火墙当前是否运行,返回 runningnot running
2.2 临时关闭防火墙
systemctl stop firewalld
  • 说明:关闭防火墙,但系统重启后会自动恢复。
2.3 开启防火墙
systemctl start firewalld
  • 说明:手动开启防火墙。
2.4 永久禁用防火墙
systemctl disable firewalld
  • 说明:禁止防火墙随系统启动自动运行。

注意:在生产环境中,建议配置防火墙规则以允许 Redis 的默认端口(6379),而不是完全禁用防火墙。


3. 修改 Redis 配置文件

使用 Vim 编辑器打开 Redis 配置文件:

vim /path/to/redis.conf
  • 说明:将 /path/to/redis.conf 替换为实际路径,例如 /etc/redis/redis.conf

以下是几个关键配置项的修改步骤:

3.1 关闭保护模式

找到 protected-mode 配置项,将其改为 no

protected-mode no
  • 作用:关闭保护模式后,Redis 允许外部 IP 访问。默认情况下,保护模式限制连接到本地。
3.2 注释 bind 指令

找到 bind 127.0.0.1 这一行,在前面添加 # 进行注释:

# bind 127.0.0.1
  • 作用:取消绑定本地 IP(127.0.0.1),使 Redis 监听所有网络接口(0.0.0.0),允许外部访问。
  • 注意:如果需要限制特定 IP,可以在这里指定,例如 bind 192.168.1.100
3.3 设置 Redis 密码

找到 requirepass 配置项,设置一个密码:

requirepass yourpassword
  • 说明:将 yourpassword 替换为你想要的密码,例如 requirepass mysecret123
  • 作用:启用密码认证,提升安全性。

保存并退出 Vim(:wq)后,重启 Redis 使配置生效:

redis-server /path/to/redis.conf

4. 测试 Redis 连接

配置完成后,使用以下命令测试连接:

redis-cli -h <server-ip> -p 6379 -a yourpassword
  • 参数说明

    • -h <server-ip>:Redis 服务器的 IP 地址,例如 192.168.1.100
    • -p 6379:Redis 默认端口号(可根据配置调整)。
    • -a yourpassword:你在 requirepass 中设置的密码。
  • 成功标志:进入 Redis 命令行后,输入 ping,若返回 PONG,则连接成功。


结语

通过以上步骤,你可以轻松地使用配置文件启动 Redis,并调整防火墙和配置项以满足需求。这些设置确保了 Redis 的可访问性和基本安全性。希望这篇指南能为你的 Redis 学习和部署提供帮助!


http://www.xdnf.cn/news/15055.html

相关文章:

  • 【kafka-python使用学习笔记2】Python操作Kafka之环境准备(2)亲测有效有图有真相
  • 大模型在肾囊肿诊疗全流程预测及应用研究报告
  • 动手学深度学习13.7. 单发多框检测(SSD)-笔记练习(PyTorch)
  • 10.5 实战ChatGLM3私有数据微调之提示工程:批量生成数据稳定性秘籍
  • python的巡游出租管理系统
  • 初识Neo4j之Cypher(三)
  • 【Linux | 网络】网络基础
  • RAG实战指南 Day 8:PDF、Word和HTML文档解析实战
  • 【ARM AMBA AXI 入门 21.1 -- AXI partial 访问和软件的按字节访问关系】
  • 一文讲清楚React Fiber
  • 【EGSR2025】材质+扩散模型+神经网络相关论文整理随笔
  • FastAPI依赖注入:构建高可维护API的核心理念与实战
  • HCIA-生成数协议(STP)
  • IRF堆叠技术的主要优势
  • Flutter 每日翻译之 Widget
  • 开关电源抄板学习
  • C++ 中左值和右值
  • 小菜狗的云计算之旅,学习了解rsync+sersync实现数据实时同步(详细操作步骤)
  • PanoSAM:使用 Meta Segment Anything 模型对全景图像中的点云数据进行无监督分割
  • 深入理解 classnames:React 动态类名管理的最佳实践
  • 设计模式之迭代器模式
  • 基于改进多目标优化算法的众包物流配送调度研究
  • 【机器学习笔记Ⅰ】2 线性回归模型
  • 百度文心大模型 4.5 开源深度测评:技术架构、部署实战与生态协同全解析
  • 编程语言艺术:C语言中的属性attribute笔记总结
  • bro code笔记 inheritance
  • 从前端转nest.js开发的学习路线
  • 【Guava】1.0.设计虚拟机的方向
  • java学习——guava并发编程练习
  • Redis ①⑤-集群