Redis配置文件的位置取决于操作系统和安装方式,绝大多数Linux环境下位于/etc/redis/redis.conf或/usr/local/etc/redis.conf,Windows下载包里则直接放在解压根目录。如果你是通过apt、yum或源码编译安装,路径会有差异,下文逐一拆解。
为什么你找不到redis配置文件:先分清安装方式
很多新手在服务器上执行find / -name "redis.conf"一无所获,不是因为文件丢了,而是安装方式决定了文件默认路径,行业共识认为,搞清安装方式是定位配置文件的第一步。
Linux常见安装方式与默认路径:
apt install redis-server(Debian/Ubuntu)→/etc/redis/redis.confyum install redis(CentOS/RHEL)→/etc/redis.conf- 源码编译
make install→/usr/local/etc/redis.conf(需手动复制) - Docker容器运行 → 容器内
/usr/local/etc/redis/redis.conf,宿主机路径取决于挂载映射
Windows用户更简单,从GitHub下载的Redis-x64-xxx.zip解压后,redis.windows.conf和redis.windows-service.conf就在解压目录的同级位置。
不同系统下redis配置文件位置的完整对比
| 系统/方式 | 默认路径 | 备注 |
|---|---|---|
| Ubuntu/Debian(apt) | /etc/redis/redis.conf |
需要sudo权限读取 |
| CentOS/RHEL(yum) | /etc/redis.conf |
x及更早版本常见 |
| 源码编译(make install) | /usr/local/etc/redis.conf |
使用make PREFIX=/usr/local时生效 |
| macOS(Homebrew) | /usr/local/etc/redis.conf(Intel)/opt/homebrew/etc/redis.conf(Apple Silicon) |
brew安装后路径固定 |
| Windows ZIP包 | 解压根目录 | 如C:\redis\redis.windows.conf |
| Docker官方镜像 | 容器内/usr/local/etc/redis/redis.conf |
需通过docker inspect查看实际映射 |
值得留意的是,CentOS 8及以上版本的yum源已经不再直接提供redis包,改用redis:6模块流,配置文件统一放置在/etc/redis.conf。
redis配置文件怎么找:三条实操路径
用CONFIG命令直接查询(最推荐)
不需要在磁盘上翻找,Redis本身就提供查询指令,启动Redis服务后执行:
redis-cli CONFIG GET dir CONFIG GET dbfilename
第一条命令返回的是Redis工作目录,第二条返回RDB持久化文件名,实际配置文件的绝对路径通常是CONFIG GET dir的结果加上redis.conf,但为了确认,可以继续输入:
redis-cli CONFIG GET configfile
部分版本会直接返回配置文件的完整路径,如果返回空,说明Redis启动时没有指定配置文件(使用的是内置默认配置)。
通过进程启动参数反查
Linux服务器上执行:
ps -ef | grep redis-server
输出信息中,如果启动命令带/etc/redis/redis.conf这类参数,路径就一目了然,多数情况显示为redis-server :6379,意味着启动了但没加载任何配置文件,用的是编译时写入的默认参数。
用systemctl查看服务文件
对于通过apt或yum安装并注册为系统服务的Redis:
systemctl cat redis-server # Ubuntu上服务名可能带-server后缀 systemctl cat redis # CentOS上服务名一般是redis
里的ExecStart=/usr/bin/redis-server /etc/redis/redis.conf这行会直接告诉你配置文件位置。

配置文件路径修改:常见场景与操作步骤
自定义目录存放配置文件
出于安全或目录规范考虑,想把配置文件挪到统一管理的目录,比如/data/redis/,操作分两步:
mkdir -p /data/redis cp /etc/redis/redis.conf /data/redis/ # 复制配置文件 redis-server /data/redis/redis.conf # 用新路径启动
如果使用systemd管理,需要同步修改service文件里的ExecStart指向,配置文件本身内部还有一个关键指令dir ./,它决定RDB快照和AOF日志的写入目录,建议一并调整为dir /data/redis。
Docker容器挂载自定义配置
用Docker跑Redis时,人们总误以为要进入容器改配置,其实用挂载映射更合理:
docker run -d \ --name redis-custom \ -p 6379:6379 \ -v /opt/redis/redis.conf:/usr/local/etc/redis/redis.conf \ # 宿主机配置覆盖容器内配置 redis redis-server /usr/local/etc/redis/redis.conf
这样宿主机上的/opt/redis/redis.conf就是唯一需要维护的配置文件,容器重建后配置不丢失。
Windows服务模式加载配置文件
Windows下以服务方式运行Redis,需要先修改redis.windows-service.conf,然后用管理员权限执行:
redis-server.exe --service-install redis.windows-service.conf --loglevel verbose net start Redis
注意不要混淆:redis.windows.conf是普通运行模式,redis.windows-service.conf是给Windows服务用的,两者独立存在。
修改配置文件前必须避开的三个坑
坑一:改完没重启,配置不生效
Redis的配置加载发生在进程启动那一刻,改完文件后必须执行redis-cli shutdown再重启,或者用redis-cli CONFIG REWRITE把运行时的临时修改写回配置文件,很多用户改完文件后直接跑

redis-cli CONFIG GET maxmemory,看到的还是旧值,原因就在于没重启。
坑二:误改了bind和protected-mode导致远程连不上
不少用户在找配置文件时顺手把bind 127.0.0.1改成bind 0.0.0.0,结果直接暴露在公网,遭遇挖矿攻击,行业共识认为,如果确实需要远程访问,应同时设置requirepass强密码,并借助云安全组做IP白名单限制。
坑三:权限不足导致Redis启动失败
配置文件属主如果不是redis用户(或当前启动用户),Redis启动时会提示Can't open the log file: Permission denied,用chown redis:redis /etc/redis/redis.conf修正属主即可。
redis配置文件在哪里的高频困惑
Q:Redis启动时没加载任何配置文件,参数是什么?
A:Redis可以不带配置文件启动,此时所有参数使用编译期内置的默认值,输入redis-server就能观察到,但这样启动的实例重启后配置全丢。生产环境务必通过redis-server /path/to/redis.conf显式指定配置文件。
Q:修改redis.conf后需要重启服务,但服务端跑着线上业务怎么办?
A:大部分配置支持在线热更新,通过redis-cli CONFIG SET parameter value临时生效,再用CONFIG REWRITE持久化到配置文件,但requirepass、bind、port等网络相关参数在部分版本中即时生效时有一定风险,建议在低峰期重启。
Q:Mac上brew安装Redis,配置文件的优先级是怎样的?
A:Homebrew安装的Redis默认读取/usr/local/etc/redis.conf(Apple Silicon为/opt/homebrew/etc/redis.conf),如果启动命令里单独指定了其他配置文件路径,则以命令行指定为准。查找Mac上Redis配置文件的档案,用brew info redis能看到路径详情。

