用ansible模块化脚本安装redis(多机同步)

利用ansible脚本模块化安装redis数据库,实现同步安装多台主机。

从安全角度出发,会对Redis配置文件进行修改,所以,会先在控制端主机直接安装,从而获取Redis.conf配置文件

vim /etc/redis.conf 打开并编辑配置文件:

修改默认端口号6379为其他端口号。

关于访问ip,不能直接设置为0.0.0.0 因为若主机处在公网私网共存环境下,则无法限制外部网络的访问,非常危险

可以直接通过脚本获取当前本机的ip,从而避免这些问题 >>> bind 当前ip

bind {{ ansible_default_ipv4.address }}

配置文件修改完成,准备安装redis的剧本,playbook   r1.yml

---------------------------------------------------------------------------------

- hosts: web

  tasks: 

  - name: installredis                                      安装redis

 yum: name=redis                                       调用yum模块安装

  - name: copyconf       

 template: src=/etc/redis.conf dest=/etc/redis.conf     调用template模块实现拷贝指定文件

  - name: start                       启动Redis

 service: name=redis state=started

注意:此处应该使用template而不是copy.  template可以替代参数,copy不能

         若使用copy,则配置文件中的ip是   bind {{ ansible_default_ipv4.address }},而不是取出这个ip的值

         template:bind 192.168.13.21 这才是想要的结果

-------------------------------------------------------------------------------------------------

handlers的使用:(修改配置文件时使用)

- hosts: web

  tasks: 

  - name: installredis                                      安装redis

 yum: name=redis                                       调用yum模块安装

  - name: copyconf       

 template: src=/etc/redis.conf dest=/etc/redis.conf     调用template模块实现拷贝指定文件

 tags: copyfile

 notify: restart

  - name: restart                       启动Redis

 service: name=redis state=started

  handlers:

  - name: restart

    service: name=redis state=restarted

----------------------------------------------------------------------------------

setenforce 0  用于临时关闭Selinux

iptable -F  临时关闭防火墙

永久关闭则要去配置文件修改: /etc/selinux/config

posted @ 2019-05-25 11:19  青红*皂了个白  阅读(1046)  评论(0编辑  收藏  举报