通过yum方式将redis的rpm包安装到本地机器之后,通过rpm -ql redis
查看安装的目录,发现有28个目录文件,但是每个目录文件代表什么含义,文件里的配置又是什么意思,目前还是不清楚,为了更好的了解安装后的redis配置,方便进行相关管理操作,所以研究理解一下redis每个安装目录的含义和文件中参数所代表的含义,整理成一篇笔记来记录下,方便回顾。
rpm -ql redis
之后系统打印输出下面28个文件记录:
/etc/logrotate.d/redis
/etc/redis-sentinel.conf
/etc/redis.conf
/etc/systemd/system/redis-sentinel.service.d
/etc/systemd/system/redis-sentinel.service.d/limit.conf
/etc/systemd/system/redis.service.d
/etc/systemd/system/redis.service.d/limit.conf
/usr/bin/redis-benchmark
/usr/bin/redis-check-aof
/usr/bin/redis-check-rdb
/usr/bin/redis-cli
/usr/bin/redis-sentinel
/usr/bin/redis-server
/usr/bin/redis-shutdown
/usr/lib/systemd/system/redis-sentinel.service
/usr/lib/systemd/system/redis.service
/usr/lib/tmpfiles.d/redis.conf
/usr/share/doc/redis-3.2.3
/usr/share/doc/redis-3.2.3/00-RELEASENOTES
/usr/share/doc/redis-3.2.3/BUGS
/usr/share/doc/redis-3.2.3/CONTRIBUTING
/usr/share/doc/redis-3.2.3/MANIFESTO
/usr/share/doc/redis-3.2.3/README.md
/usr/share/licenses/redis-3.2.3
/usr/share/licenses/redis-3.2.3/COPYING
/var/lib/redis
/var/log/redis
/var/run/redis
/etc/logrotate.d/redis
/etc/logrotate.d/ : 用来存储文件日志文件的轮循(切割转储)设置,(logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。
logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。)/etc/logrotate.d/文件夹下的redis文件,也就是设置了redis的日志文件的轮循参数配置文件。
[root@aidev02 logrotate.d]# cat redis
/var/log/redis/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
解析 :
weekly
: 指定所有的日志文件每周转储一次。
rotate 10
: 指定转储文件保存10份
copytruncate
:用于还在打开中的日志文件,把当前日志备份并截断.
delaycompress
:和 compress 一起使用时,转储的日志文件到下一次转储时才压缩。
compress
:指定压缩转储文件,通过gzip 压缩转储以后的日志,如果不需要压缩,添加注释就可以了#compress
。
notifempty
:如果是空文件的话,不转储
missingok
:如果日志文件不存在,继续处理下一个文件而不产生报错信息.
/etc/redis-sentinel.conf
Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务.
- 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
- 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
- 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。
/etc/redis.conf
redis的配置信息文件,里面包含redis的host/ip设置、集群设置、日志设置、数据持久化配置等信息。
可以通过命令redis-server redis.conf
指定redis配置来启动redis。
/etc/systemd/system/redis-sentinel.service.d
redis-sentinel.service.d
是用来存储redis-sentinel在系统服务中相关设置的文件夹。
Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度Systemd 的很多概念来源于苹果 Mac OS 操作系统上的 launchd。
systemd单元文件可以从两个地方加载,优先级从低到高分别是:/usr/lib/systemd/system/
: 软件包安装的单元,/etc/systemd/system/
系统管理员安装的单元。
当systemd运行在用户模式下时,使用的加载路径是完全不同的。
/etc/systemd/system/redis-sentinel.service.d/limit.conf
limit.conf` 文件 是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话。
cat lomit.conf
—– #If you need to change max open file limit. for example, when you change maxclient in configuration, you can change the LimitNOFILE value below, see “man systemd.exec” for information[Service]
LimitNOFILE=10240
Group=groupName
`
/etc/systemd/system/redis.service.d
redis.service.d
是用来存储redis在系统服务中相关设置的文件夹。
/etc/systemd/system/redis.service.d/limit.conf
和上面/etc/systemd/system/redis-sentinel.service.d/limit.conf配置一样。
/usr/bin/redis-benchmark
redis-benchmark为Redis性能测试工具。
/usr/bin
存放的是一些用户命令, 是你在后期安装的一些软件的运行脚本。
/usr/sbin
放置一些用户安装的系统管理的必备程式.
/bin,/sbin目录是在系统启动后挂载到根文件系统中的。
- 系统级的组件放在/bin、/lib;
- 根用户才能访问的放在/sbin;
- 系统repository提供的应用程序放在/usr/bin、/usr/lib;
- 用户自己编译的放在/usr/local/XXX。
/usr/bin/redis-check-aof
数据持久化时,用于修复出问题的AOF文件
/usr/bin/redis-check-rdb
用于修复出问题的dump.rdb文件
/usr/bin/redis-cli
redis的客户端
/usr/bin/redis-sentinel
用于集群管理
/usr/bin/redis-server
redis的服务端
/usr/bin/redis-shutdown
停止所有客户端,进行保存,清空所有追加仅文件(如果AOF启用),并退出服务器。
错误时答复简单字符串。成功时不返回任何结果,因为服务器退出并关闭连接。
/usr/lib/systemd/system/redis-sentinel.service
/usr/lib/ 程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里.
/usr/lib/systemd/system/
文件夹存储 创建单位用的系统配置文件。
redis-sentinel.service
系统服务配置文件。
如下:[Unit]
Description=Redis Sentinel
After=network.target
[Service]
ExecStart=/usr/bin/redis-sentinel /etc/redis-sentinel.conf –daemonize no
ExecStop=/usr/bin/redis-shutdown redis-sentinel
User=redis
Group=redis
[Install]
WantedBy=multi-user.target
/usr/lib/systemd/system/redis.service
同上:
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf –daemonize no
ExecStop=/usr/bin/redis-shutdown
User=redis
Group=redis
[Install]
WantedBy=multi-user.target
/usr/lib/tmpfiles.d/redis.conf
- /etc/tmpfiles.d/*.conf
- /run/tmpfiles.d/*.conf
- /usr/lib/tmpfiles.d/*.conf
systemd-tmpfiles 使用上述三个目录中的配置文件 来决定如何创建、删除、清理 易变文件与临时文件以及易变目录与临时目录。
这些文件与目录通常位于 /run, /var/run(指向 /run 的软连接), /tmp, /var/tmp, /sys, /proc, /var 目录中。
系统的守护进程经常需要在 /run 目录下拥有专属的运行时目录,以存放套接字或管道之类的文件
.#redis runtime directory
d /run/redis 0755 redis redis -
配置文件的格式是每行对应一个路径,包含下面字段:具体可参考[ http://www.jinbuguo.com/systemd/tmpfiles.d.html ]
| 类型 | 路径 | 权限 | 属主 | 属组 | 寿命 | 参数|
|Type | Path | Mode | UID | GID | Age | Argument|
d /run/user 0755 root root 10d -
L /tmp/foobar - - - - /dev/null
/usr/share/doc/redis-3.2.3
/usr/share/放置共享文件的地方
/usr/share/doc/redis-3.2.3/00-RELEASENOTES
版本说明
/usr/share/doc/redis-3.2.3/BUGS
bugs
/usr/share/doc/redis-3.2.3/CONTRIBUTING
github上code捐献信息
/usr/share/doc/redis-3.2.3/MANIFESTO
声明
/usr/share/doc/redis-3.2.3/README.md
readme文件
/usr/share/licenses/redis-3.2.3
存放redis的许可文件
/usr/share/licenses/redis-3.2.3/COPYING
redis的许可文件COPYING
/var/lib/redis
/var/lib
文件夹 存储 系统正常运行时要改变的文件指定redis本地数据库存放目录
[root@aidev02 redis-3.2.3]# cd /var/lib/redis
[root@aidev02 redis]# ls
dump.rdb
/var/log/redis
/var/log
文件夹 :各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.指定redis本地日志存放目录
/var/run/redis
/var/run/
文件夹 : 保存到下次引导前有效的关于系统的信息文件.例如, /var/run/utmp 包含当前登录的用户的信息.指定redis引导信息的存放目录
联系客服