前言
Redis作为开源高性能内存键值数据库,凭借极致的读写性能、丰富的数据结构、灵活的持久化机制以及低延迟、高并发的核心优势,早已成为互联网项目、后端开发、分布式架构中的核心基础组件,广泛应用于热点数据缓存、会话存储、流量削峰、消息队列、计数器等各类业务场景,是开发者与运维人员必备的核心技术能力。
对于技术初学者和入门开发者而言,Redis的安装与部署是入门实操的第一步。看似简单的基础操作,却暗藏诸多细节难点:不同操作系统的环境适配、版本选型误区、依赖配置缺失、端口冲突、基础权限设置、持久化参数配置、服务自启配置等问题,常常导致新手部署失败、服务运行异常,多数网络零散教程步骤碎片化、适配性差、缺乏避坑指引,难以实现一次性完整落地。
为解决零基础用户的部署难题,本指南以从零入门、全程实操、完整落地为核心原则,摒弃碎片化讲解,系统梳理Redis完整安装部署流程。全文适配主流操作系统环境,从前期环境准备、版本选择、依赖安装,到核心编译部署、基础配置优化、服务启停与自启设置,再到部署校验、常见问题排查、基础安全加固,层层递进、全程手把手教学。
本指南无需前置技术基础,兼顾新手入门学习与开发测试、小型生产环境部署需求,每一步均搭配标准化实操步骤与避坑要点,帮助读者快速吃透Redis部署核心逻辑,从零掌握规范、稳定、可用的Redis部署方案,为后续Redis进阶配置、性能优化、集群搭建与业务落地筑牢实操基础。
1.什么是Redis?
Redis(Remote Dictionary Server,远程字典服务)是一款开源、基于内存、可持久化的高性能键值(Key-Value)NoSQL数据库。
核心特点
- 内存驱动、极速读写
绝大部分数据常驻内存,读写延迟极低,支持十万级QPS,是高并发场景的首选中间件。
-
数据结构丰富
不只是简单的字符串键值,原生支持
String、List、Hash、Set、ZSet等多种数据结构,能够适配各类复杂业务场景。 -
支持持久化
提供RDB、AOF两种持久化方案,可将内存数据落地磁盘,避免断电、重启数据丢失。
-
高可用、易扩展
支持主从复制、哨兵模式、集群部署,可实现故障自动切换、水平扩容,适配从单机到分布式大规模业务架构。
常见应用场景
- 热点数据缓存(页面缓存、接口缓存)
- 用户会话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
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
解压压缩文件:
tar -zxvf redis-7.2.0.tar.gz
重命名&进入该目录:
mv redis-7.2.0/ redis
cd redis
安装:
make && make install
进入/usr/local/bin/检查是否安装成功:
cd /usr/local/bin/
ls
执行该目录,可以在任意目录下启动:
redis-server
检查是否启动成功:
ps -ef|grep redis
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
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
使服务生效并启动:
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
验证是否正常使用
进入后执行基础命令测试:
# 设置键值
set name test
# 获取值
get name
# 查看所有key
keys *
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步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
9.配置公网地址
通过配置,你可以在本地 WSL 或 Linux 系统上运行 SSH 服务,并通过 Cpolar 将其映射到公网,从而实现从任意设备远程连接开发环境的目的。
- 隧道名称:可自定义,本例使用了:redis,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:192.168.42.140:6379
- 端口类型:随机临时TCP端口
- 地区:China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。
- tcp 表示使用的协议类型
-
2.tcp.cpolar.top是 Cpolar 提供的域名
-
11168是随机分配的公网端口号
通过 Cpolar 提供的公网地址和端口,使用公网地址操控redis啦!
接下来我们操作一下。
redis-cli -h 2.tcp.cpolar.top -p 11168
连接成功!
10.保留固定TCP公网地址
使用cpolar为其配置TCP地址,该地址为固定地址,不会随机变化。
选择区域和描述:有一个下拉菜单,当前选择的是“China Tcp”。
右侧输入框,用于填写描述信息。
保留按钮:在右侧有一个橙色的“保留”按钮,点击该按钮可以保留所选的TCP地址。
列表中显示了一条已保留的TCP地址记录。
- 地区:显示为“China Tcp”。
-
地址:显示为“ 35.tcp.cpolar.top:11050”。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道ssh,点击右侧的编辑。
修改隧道信息,将保留成功的TCP端口配置到隧道中。
- 端口类型:选择固定TCP端口
- 预留的TCP地址:填写保留成功的TCP地址
点击更新。
创建完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的TCP地址。
总结
本文详细讲解了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 | 远程访问 | 搭建网站


























