geerlingguy.redis
Ansible角色:Redis
在Linux上安装Redis。
需求
在基于RedHat的发行版上,需要EPEL仓库(您可以简单地添加角色geerlingguy.repo-epel
,以确保EPEL可用)。
角色变量
redis_enablerepo: epel
(仅在RHEL/CentOS上使用)用于Redis安装的仓库。
可用的变量如下所示,以及默认值(请参见defaults/main.yml
):
redis_port: 6379
redis_bind_interface: 127.0.0.1
Redis将监听的端口和接口。将接口设置为0.0.0.0
以在所有接口上监听。
redis_unixsocket: ''
如果设置,Redis还将在本地Unix套接字上监听。
redis_timeout: 300
当客户端闲置N
秒后,关闭连接。设置为0
以禁用超时。
redis_loglevel: "notice"
redis_logfile: /var/log/redis/redis-server.log
日志级别和日志位置(有效级别为debug
,verbose
,notice
和warning
)。
redis_databases: 16
Redis数据库的数量。
# 设置为空集以禁用持久性(将数据库保存到磁盘)。
redis_save:
- 900 1
- 300 10
- 60 10000
快照配置;在此列表中设置值将在给定的秒数(例如900
)和给定的写操作数(例如1
)发生时将数据库保存到磁盘。
redis_rdbcompression: "yes"
redis_dbfilename: dump.rdb
redis_dbdir: /var/lib/redis
数据库压缩和位置配置。
redis_maxmemory: 0
限制内存使用到指定字节数。设置为0表示无限制。
redis_maxmemory_policy: "noeviction"
如果指定,保持内存使用低于限制的方法。请参见将Redis用作LRU缓存。
redis_maxmemory_samples: 5
用于近似LRU的样本数量。请参见将Redis用作LRU缓存。
redis_appendonly: "no"
如果启用appendonly选项,可以保证更好的数据持久性,但会导致性能略微降低。
redis_appendfsync: "everysec"
有效值为always
(更慢,最安全),everysec
(中等)或no
(让文件系统按需刷新数据,风险最大)。
# 添加额外的包含文件以便本地配置/覆盖。
redis_includes: []
将额外的包含文件路径添加到此列表,以包含更多/本地化的Redis配置。
通过系统软件包管理器安装的redis软件包名称。Debian默认使用redis-server
,RHEL则使用redis
。
redis_package_name: "redis-server"
(RHEL的默认值)通过系统软件包管理器安装的redis软件包名称。Debian默认使用redis-server
,RHEL则使用redis
。
redis_requirepass: ""
设置一个密码以要求进行Redis身份验证。您可以使用echo "my_password_here" | sha256sum
生成一个强密码。
redis_disabled_commands: []
为了额外的安全性,您可以禁用某些Redis命令(如果Redis可以公开访问,这一点尤其重要)。例如:
redis_disabled_commands:
- FLUSHDB
- FLUSHALL
- KEYS
- PEXPIRE
- DEL
- CONFIG
- SHUTDOWN
redis_extra_config: |-
# 这里可以添加额外的redis配置行。
将附加到redis.conf
文件末尾的额外Redis配置行。
依赖
没有。
示例剧本
- hosts: all
roles:
- role: geerlingguy.redis
许可证
MIT / BSD
作者信息
此角色由Jeff Geerling于2014年创建,他是Ansible for DevOps的作者。
ansible-galaxy install geerlingguy.redis