利用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