从零搭建高性能缓存数据库,Redis 多环境安装、安全配置完整实操教程

前言

Redis作为开源高性能内存键值数据库,凭借极致的读写性能、丰富的数据结构、灵活的持久化机制以及低延迟、高并发的核心优势,早已成为互联网项目、后端开发、分布式架构中的核心基础组件,广泛应用于热点数据缓存、会话存储、流量削峰、消息队列、计数器等各类业务场景,是开发者与运维人员必备的核心技术能力。

对于技术初学者和入门开发者而言,Redis的安装与部署是入门实操的第一步。看似简单的基础操作,却暗藏诸多细节难点:不同操作系统的环境适配、版本选型误区、依赖配置缺失、端口冲突、基础权限设置、持久化参数配置、服务自启配置等问题,常常导致新手部署失败、服务运行异常,多数网络零散教程步骤碎片化、适配性差、缺乏避坑指引,难以实现一次性完整落地。

为解决零基础用户的部署难题,本指南以从零入门、全程实操、完整落地为核心原则,摒弃碎片化讲解,系统梳理Redis完整安装部署流程。全文适配主流操作系统环境,从前期环境准备、版本选择、依赖安装,到核心编译部署、基础配置优化、服务启停与自启设置,再到部署校验、常见问题排查、基础安全加固,层层递进、全程手把手教学。

本指南无需前置技术基础,兼顾新手入门学习与开发测试、小型生产环境部署需求,每一步均搭配标准化实操步骤与避坑要点,帮助读者快速吃透Redis部署核心逻辑,从零掌握规范、稳定、可用的Redis部署方案,为后续Redis进阶配置、性能优化、集群搭建与业务落地筑牢实操基础。

image-20260611162616856

1.什么是Redis?

Redis(Remote Dictionary Server,远程字典服务)是一款开源、基于内存、可持久化的高性能键值(Key-Value)NoSQL数据库。

核心特点

  1. 内存驱动、极速读写

    绝大部分数据常驻内存,读写延迟极低,支持十万级QPS,是高并发场景的首选中间件。

  2. 数据结构丰富

    不只是简单的字符串键值,原生支持 String、List、Hash、Set、ZSet 等多种数据结构,能够适配各类复杂业务场景。

  3. 支持持久化

    提供RDB、AOF两种持久化方案,可将内存数据落地磁盘,避免断电、重启数据丢失。

  4. 高可用、易扩展

    支持主从复制、哨兵模式、集群部署,可实现故障自动切换、水平扩容,适配从单机到分布式大规模业务架构。

常见应用场景

  • 热点数据缓存(页面缓存、接口缓存)
  • 用户会话Session、登录态存储
  • 限流、计数器、排行榜
  • 简单消息队列、延时任务

定位总结

Redis不是替代MySQL等关系型数据库,而是辅助加速、解耦业务的高性能中间件,是后端开发、运维部署的必备基础组件。

2.前提条件

2.1 基础系统要求

  • 操作系统

    主流 Linux 发行版均可(CentOS 7+/Ubuntu 16.04+/Debian 等);也支持 Windows、macOS,

    生产环境优先使用 Linux。

  • 硬件基础

    内存:最低建议 512MB,生产环境根据业务数据量规划(Redis 数据存内存,内存为核心资源);

    磁盘:普通机械盘 / SSD 均可,SSD 可提升持久化、日志读写效率。

  • 系统时间

    保证系统时间同步,避免日志、持久化文件时间错乱。

2.2 必装系统依赖(源码安装必备)

Redis源码编译依赖基础编译工具与库,yum /apt包管理器安装可跳过部分依赖

CentOS / RHEL系列

yum install -y gcc gcc-c++ make tcl
  • gcc/gcc-c++:C 语言编译环境(Redis 由 C 编写)
  • make:编译构建工具
  • tcl:用于Redis自带测试脚本

Ubuntu / Debian系列

apt update && apt install -y gcc make tcl
gcc -v

image-20260611111833753

2.3 权限要求

  • 临时操作、编译安装:建议使用 root 超级管理员 或拥有 sudo 权限的普通用户;
  • 生产运行规范:禁止直接用 root 启动 Redis,需单独创建普通运行用户 / 用户组,降低安全风险;
  • 目录权限:安装目录、数据目录、日志目录需保证对应用户拥有读写、执行权限

2.4 网络与端口要求

  • 默认端口:Redis 监听 6379端口,提前确认端口未被占用

    查看端口命令:

    # Linux 通用
    netstat -tulpn | grep 6379
    # 或
    ss -tulpn | grep 6379
    
  • 防火墙 / 安全组

    单机本地使用:无需开放外网端口;

    跨机器访问、集群部署:需在防火墙 / 云服务器安全组放行 6379 端口;

    生产环境不建议直接对公网开放端口。

2.5 其他前置准备

  • 关闭冲突服务:若系统已安装旧版 Redis,建议先停止、卸载,避免版本冲突;
  • 文件句柄优化(生产必调):Redis 高并发场景下需要调高系统最大文件句柄数,防止连接数受限;
  • 关闭透明大页(THP):Linux 默认透明大页会造成 Redis 延迟波动,生产环境建议关闭。

3.安装redis

进入要下载的文件夹:

cd /app

在linux命令行中下载redis压缩文件:

wget https://download.redis.io/releases/redis-7.2.0.tar.gz

image-20260611144700947

解压压缩文件:

tar -zxvf redis-7.2.0.tar.gz

image-20260611144748880

重命名&进入该目录:

mv redis-7.2.0/ redis
cd redis

安装:

make && make install

image-20260611144946043

进入/usr/local/bin/检查是否安装成功:

cd /usr/local/bin/
ls

image-20260611145729591

执行该目录,可以在任意目录下启动:

redis-server

image-20260611145857801

检查是否启动成功:

ps -ef|grep redis

image-20260611160457037

4.配置redis

先将redis的配置文件(redis.conf)备份,防止修改错误:

 cp redis.conf redis.conf.bck

进入redis.conf:

 vi redis.conf

要修改的内容:

 # daemonize的值从no修改成 yes
daemonize no ---> daemonize yes

# requirepass foobared注释去掉并在后加上密码
requirepass foobared ---> requirepass 123456

# 设置redis记录日志,默认不记录日志
logfile " " ---> logfile "redis.log"

进入redis安装路径启动:

 redis-server redis.conf

这次启动并没有任何的日志输出,因为已经启动后台运行了,查看是否启动:

ps -ef | grep redis

image-20260612150746327

5.创建开机自启

新建文件:

 vi /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /app/redis/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

image-20260612151048973

使服务生效并启动:

 systemctl daemon-reload
 systemctl start redis
 systemctl enable redis

查看redis状态:

 systemctl status redis

6.Redis命令行客户端

进入Redis命令行客户端:

  • 默认连接本地 127.0.0.1:6379,直接进入交互界面。
redis-cli

指定IP / 端口(连接远程 / 自定义端口):

redis-cli -h 192.168.42.140 -p 6379

登录后认证密码:

auth 123456

image-20260612154550489

验证是否正常使用

进入后执行基础命令测试:

# 设置键值
set name test
# 获取值
get name
# 查看所有key
keys *

image-20260612154619414

7.停用redis

后台启动 / 关闭Redis(常用运维)

# 启动 Redis(后台运行)
redis-server /app/redis.conf

# 正常关闭 Redis(推荐)
redis-cli shutdown

# 强制停止(不推荐,可能丢数据)
kill -9 redis进程ID

在使用Redis进行本地开发或测试时,常常会遇到一个痛点:Redis服务默认仅绑定在本地回环地址,外部设备无法直接访问。而当我们需要让远程团队成员、移动端应用或云端服务临时连接到本地Redis实例进行调试时,传统的内网穿透方案往往配置复杂、依赖公网服务器或存在安全风险。这时,cpolar的出现提供了一种简洁高效的解决方案——它是一款轻量级的内网穿透工具,无需公网IP,只需一条命令即可将本地Redis端口安全地暴露到公网,通过TCP隧道实现稳定、加密的远程访问,极大提升了开发与协作效率。

8.安装cpolar实现随时随地开发

8.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

8.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

9.配置公网地址

通过配置,你可以在本地 WSL 或 Linux 系统上运行 SSH 服务,并通过 Cpolar 将其映射到公网,从而实现从任意设备远程连接开发环境的目的。

  • 隧道名称:可自定义,本例使用了:redis,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:192.168.42.140:6379
  • 端口类型:随机临时TCP端口
  • 地区:China Top

image-20260612161729302

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。

  • tcp 表示使用的协议类型

  • 2.tcp.cpolar.top是 Cpolar 提供的域名

  • 11168是随机分配的公网端口号

image-20260612161753848

通过 Cpolar 提供的公网地址和端口,使用公网地址操控redis啦!

接下来我们操作一下。

redis-cli -h 2.tcp.cpolar.top -p 11168

image-20260612162328415

连接成功!

10.保留固定TCP公网地址

使用cpolar为其配置TCP地址,该地址为固定地址,不会随机变化。

1b5b18459db4d0a167e947c02c3e14aa

选择区域和描述:有一个下拉菜单,当前选择的是“China Tcp”。
右侧输入框,用于填写描述信息。
保留按钮:在右侧有一个橙色的“保留”按钮,点击该按钮可以保留所选的TCP地址。
列表中显示了一条已保留的TCP地址记录。

  • 地区:显示为“China Tcp”。

  • 地址:显示为“ 35.tcp.cpolar.top:11050”。

image-20260612162545063

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道ssh,点击右侧的编辑

image-20260612162609692

修改隧道信息,将保留成功的TCP端口配置到隧道中。

  • 端口类型:选择固定TCP端口
  • 预留的TCP地址:填写保留成功的TCP地址

点击更新

image-20260612162701609

创建完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的TCP地址。

image-20260612162743866

总结

本文详细讲解了Linux环境下Redis从零到可正常使用的完整安装部署流程,涵盖基础安装、客户端连接、安全配置、问题排查等核心实操内容,解决了新手部署中免密登录、远程连接报错、密码不生效等常见坑,搭建出安全、可用的Redis服务。

在基础使用层面,Redis安装完成后,可通过redis-cli快速进入本地客户端,默认适配本地127.0.0.1:6379端口,也可通过指定IP、端口、密码的方式连接远程Redis服务,搭配set、get、keys等基础命令即可完成数据读写测试,快速验证服务可用性。

在安全配置核心环节,重点解决了Redis默认安全机制带来的问题。原生Redis默认无密码认证、开启保护模式,存在特殊访问规则:本地回环地址127.0.0.1连接默认免密,而局域网IP、外网IP连接会触发权限校验。通过修改核心配置文件redis.conf,开启requirepass自定义密码、设置bind 0.0.0.0允许所有IP访问、关闭protected-mode保护模式,彻底解决了密码设置后不生效、远程连接报错NOAUTH的问题,实现所有地址连接均需密码认证。

同时文章梳理了安全登录规范,规避实操隐患。通过命令行带-a参数明文输入密码会留存日志风险,仅适用于测试环境;生产环境推荐先连接服务、再执行AUTH命令交互式认证,兼顾使用便捷性与服务安全性。

整体部署流程简单高效,落地性极强,完整实现了Redis服务安装、正常读写、权限管控、远程访问的全套配置,同时规避了新手高频踩坑点,满足测试、内网生产环境的基础使用需求,也为后续Redis运维、集群搭建奠定了基础。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章