一 前期說明
l思路:先在一台機器上編譯安裝好nginx、打包,然後再用ansible去下發
lcd /etc/ansible 進入ansible配置檔案目錄
lmkdir nginx_install 建立一個nginx_install的目錄,友善管理
lcd nginx_install;
lmkdir -p roles/{common,install}/{handlers,files,meta,tasks,templates,vars}
## 分别在common 和install 這兩個目錄下面建立這些目錄
l說明:roles目錄下有兩個角色,common為一些準備操作,install為安裝nginx的操作。每個角色下面又有幾個目錄,handlers下面是當發生改變時要執行的操作,通常用在配置檔案發生改變,重新開機服務。files為安裝時用到的一些檔案,meta為說明資訊,說明角色依賴等資訊,tasks裡面是核心的配置檔案,templates通常存一些配置檔案,啟動腳本等模闆檔案,vars下為定義的變量
二 在已經安裝好nginx伺服器上面操作
l需要事先準備好安裝用到的檔案,具體如下:
l在一台機器上事先編譯安裝好nginx,配置好啟動腳本,配置好配置檔案
l安裝好後,我們需要把nginx目錄打包,并放到/etc/ansible/nginx_install/roles/install/files/下面,名字為nginx.tar.gz
cd /usr/local/目錄下
ltar czvf nging.tar.gz nginx 打包
cp nginx.tar.gz /etc/ansible/nginx_install/roles/install/files/
l啟動腳本、配置檔案都要放到/etc/ansible/nginx_install/roles/install/templates下面
cp /etc/init.d/nginx /etc/ansible/nginx_install/roles/install/templates
cp /usr/local/nginx/conf/nginx.conf /etc/ansible/nginx_install/roles/install/templates
三 定義相關配置檔案
lcd /etc/ansible/nginx_install/roles
l定義common的tasks,nginx是需要一些依賴包的
l定義變量
首先要把所有用到的文檔拷貝到目标機器 (複制檔案)
接下來會建立使用者,啟動服務,删除壓縮包 (安裝啟動服務)
再建立main.yml并且 把copy和install調用
最後定義總入口檔案
四 執行
執行: ansible-playbook /etc/ansible/nginx_install/install.yml
最後去用戶端上面檢視nginx服務是否正常啟動