role實現nginx安裝
安裝一個服務,需要建立以下內容:
(1)創建組(2)創建用戶(3)安裝程序(4)配置文件(5)啓動服務,現開始建立
1、建立roles目錄,名稱不能改,必須叫roles,進入文件夾,建立nginx
2、建立任務tasks目錄,進入該目錄開始按規劃進行
(1)創建組,group.yml
(2)創建用戶,user.yml
(3)創建安裝程序任務,innginx.yml
(4)創建模板templates,創建roles/nginx/templates,將修改過的nginx配置文件複製此目錄下,cp /etc/nginx/nginx.conf roles/nginx/templates/nginx.conf.j2(修改內容詳見template模板實驗),修改後建立模板調用任務,在tasks目錄內建立template.yml
(5)創建服務啓動任務,設置開機啓動
(6)創建好後,還需要一個將它們串接起來的main.yml文件,同樣需要放到tasks目錄內
3、建立roles.yml,要求和roles文件平級目錄
4、建立handler任務,進入handler目錄,新建main.yml文件,裏面寫入,結構如下
handlers寫好,需要標記notify,標記的是templates模板最後的目錄樹形結構
5、測試
注:如果以後維護很多服務,我們可以用roles,此時roles可以放很多以服務名爲名字的目錄,各自的目錄內有各自的tasks、template、handler等,就像這次nginx的目錄結構一樣,建立好後我們只需在roles目錄同級的文件夾內建立roles.yml來調用各服務的roles
- hosts: all
remote_user: root
roles:
- role: nginx
- role: mysql
- role: httpd