前言
在上一篇博客中,我们完成了Windows环境下的Redis基础学习与SpringBoot项目整合,实现了本地缓存的开发调试。但在真实的企业开发、项目上线、服务器运维场景中,Redis几乎全部部署在Linux服务器上。
对于Java后端开发者来说,不仅要会写代码调用Redis,更要掌握服务器部署、环境配置、服务运维的基础能力,这也是校招面试、项目实战的重要加分项。本篇文章将手把手带大家从零完成Linux下Redis的完整部署、配置、开机自启,全程零基础适配,每一步均可直接复刻运行。
一、环境准备
1. 服务器环境
本文基于 CentOS 7 / CentOS 8 通用教程,适配阿里云、腾讯云、虚拟机等所有Linux服务器环境,Redis版本选用稳定版 Redis 6.2.6(企业主流稳定版本)。
2. 前置依赖
Redis编译安装需要gcc编译环境,提前执行命令安装依赖,避免编译报错:
# 安装gcc编译依赖
yum install -y gcc gcc-c++ make
二、Redis两种安装方式(推荐源码编译安装)
Linux部署Redis主要分为 yum快速安装 和 源码编译安装两种方式。yum安装简单快捷,但版本不可控、配置零散;企业开发主流使用源码编译安装,可自定义版本、自由配置参数,更适合学习和项目上线。
方式一:源码编译安装(推荐)
1. 下载Redis安装包
进入服务器/usr/local目录(系统通用软件安装目录),下载Redis源码包:
# 进入安装目录
cd /usr/local
# 下载Redis源码包
wget http://download.redis.io/releases/redis-6.2.6.tar.gz
2. 解压并编译
# 解压压缩包
tar -zxvf redis-6.2.6.tar.gz
# 进入解压目录
cd redis-6.2.6
# 编译源码(核心命令,无报错即为成功)
make
3. 安装Redis
编译完成后执行安装,默认安装到usr/local/bin目录:
make install
方式二:yum快速安装(简易版)
仅适合快速测试使用,不推荐项目正式环境使用:
yum install -y redis
三、Redis核心配置(关键!生产环境必改)
默认配置仅适合本地测试,服务器部署必须修改核心配置,否则会出现连接失败、安全漏洞等问题。进入Redis解压目录,编辑配置文件 redis.conf:
# 进入配置文件目录
cd /usr/local/redis-6.2.6
# 编辑配置文件
vim redis.conf
需要修改的5个核心配置项
- 关闭保护模式:
protected-mode no(开启状态下仅本机可连接,外网无法访问) - 开启后台运行:
daemonize yes(默认前台运行,关闭终端服务即停止,开启后后台常驻) - 放行外网访问:注释
bind 127.0.0.1(仅本地访问限制,注释后允许所有IP连接) - 设置连接密码:添加
requirepass 自定义密码(生产环境必备,防止恶意访问) - 修改默认端口(可选):默认6379,可自定义规避端口扫描攻击
修改完成后,按 ESC,输入 :wq 保存退出。
四、启动、停止、重启Redis服务
1. 启动Redis(指定配置文件启动)
redis-server /usr/local/redis-6.2.6/redis.conf
2. 查看运行状态
# 查看Redis进程
ps -ef | grep redis
3. 停止与重启服务
# 优雅停止(推荐,避免数据丢失)
redis-cli shutdown
# 强制结束进程(紧急情况使用)
kill -9 进程号
五、配置开机自启(服务器必备)
服务器重启后,默认不会自动启动Redis,配置开机自启可实现服务器开机自动运行服务。
1. 创建系统服务文件
vim /etc/systemd/system/redis.service
2. 写入服务配置内容
[Unit]
Description=Redis Service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3. 启用开机自启
# 重新加载系统服务
systemctl daemon-reload
# 设置开机自启
systemctl enable redis
# 启动服务
systemctl start redis
# 查看自启状态
systemctl status redis
六、服务器防火墙放行端口
Linux防火墙默认拦截外网6379端口,必须放行端口,本地项目才能远程连接服务器Redis。
# 放行6379端口
firewall-cmd --permanent --add-port=6379/tcp
# 重新加载防火墙
firewall-cmd --reload
七、部署高频踩坑总结(新手必看)
- 外网连接超时:未关闭保护模式、未注释bind限制、防火墙未放行端口,三者是90%连接失败的原因
- 编译报错:未安装gcc依赖,执行前置依赖安装命令即可解决
- 服务启动后闪退:未开启daemonize后台运行,终端关闭后服务终止
- 安全风险告警:生产环境必须设置密码、禁止全网无密码访问,防止Redis被入侵挖矿
八、学习总结与后续规划
本篇文章完成了Linux环境下Redis的完整部署与运维配置,掌握了从源码安装、参数配置、服务启停到开机自启、端口放行的全流程操作,补齐了本地开发到服务器上线的关键短板。
至此,我已掌握Redis基础理论、本地Java整合、Linux服务器部署三大核心能力。后续将继续更新Redis系列博客,重点讲解缓存穿透、击穿、雪崩解决方案、Redis持久化机制、分布式锁实战等面试高频知识点,持续搭建完整的Java后端技术体系。
写在最后
技术学习不仅是掌握代码编写,更要懂部署、懂运维、懂避坑。作为在校生,深耕技术细节、积累实战经验、持续输出博客,是拉开求职差距、斩获校招offer的核心优势。欢迎大家一起交流学习,共同进步!