* 定義main.yml並且把copy和install調用.任何目錄,都必須有一個總入口配置文件main.yml
vim /etc/ansible/nginx_install/roles/install/tasks/main.yml #內容如下
- include: copy.yml
- include: install.yml
到此兩個roles:common和install就定義完成了,接下來要定義一個程序總入口配置文件
* 定義install/install.yml主總入口配置文件,來調用次總配置文件
vim /etc/ansible/nginx_install/install.yml #內容如下
---
- hosts: testhost
remote_user: root
gather_facts: True
roles:
- common
- install
說明:定義客戶端hosts 遠程用戶身份 開啓客戶端信息收集 通過roles模塊來調用common和install文件夾下的總配置文件main.yml,來執行命令。
最後,服務端執行命令:ansible-playbook /etc/ansible/nginx_install/install.yml
執行完成後,在客戶端檢查是否成功
1.rpm -qa |egrep 'pcre|openssl|zlib' #是否安裝了指定依賴包
2.ls /usr/local/nginx/ #是否複製了文件
3.ps aux |grep nginx #是否啓動nginx
4.chkconfig --list nginx #是否開機啓動
總結:/etc/ansible/nginx_install/install.yml定義了總安裝配置文件,調用roles/common/tasks下的main.yml安裝依賴包,在調用roles/install/tasks下的main.yml來創建用戶,拷貝文件等操作。文件執行過程中引用的變量,是從roles/install/vars/main.yml中定義的。
/etc/ansible/nginx_install/爲主目錄,roles爲一級目錄,在下是二級目錄,如common和install區別先後順序和功能用途。在下爲三級目錄,核心任務爲tasks,需要的文件爲files,定義變量vars等