Linux
理解 ansible 執行流程
我已經完成了我的 ansible+vagrant 集成,在這裡。Playbook 安裝了我指示的所有內容。按照指示進行每個文件修改。但是當我檢查我的本地機器時
http:localhost:8080
,http://127.0.0.1:8080
它永遠不會適用於 index.php 文件。它總是下載文件。因此,為了使其正常工作,我必須登錄到 vagrant box 並點擊以下命令到伺服器以提供 php 頁面。sudo service nginx restart sudo service php7.0-fpm restart
我已經定義了一個用於重啟服務的處理程序,如下所示。
- name: "restart services" service: > name= "{{ item }}" state=restarted with_items: - nginx - php7.0-fpm
我有一個需要應用程序 git clone 的任務。如下所示。
- name: Application git clone git: repo: https://github.com/shaileshsutar88/deploy.git dest: /var/www/html notify: - restart services
我不確定我在這裡做錯了什麼,或者我是否遺漏了什麼。否則我想了解更多關於 ansible 執行流程的資訊。當我用詳細檢查 ansible 執行時,它說好的,這意味著處理程序沒有執行。我想知道為什麼它沒有執行處理程序,因為我在我的應用程序的 git clone 之後呼叫它。
RUNNING HANDLER [web : restart services] *************************************** ok: [web] => (item=nginx) => {"changed": false, "failed": false, "item": "nginx", "name": "", "status": {}} ok: [web] => (item=php7.0-fpm) => {"changed": false, "failed": false, "item": "php7.0-fpm", "name": "", "status": {}}
如果您的 NGINX 開始下載文件,這通常意味著您的 PHP 處理程序配置錯誤。例如,您是否嘗試創建 robots.txt 並嘗試打開它?無需下載即可使用。
正如康斯坦丁昨天提到的,你應該使用處理程序。我閱讀了您的 github 儲存庫並看到您定義了一個“重新載入服務”處理程序,但從未使用過它(或者至少我沒有看到它)
你需要這樣做:
- 名稱:編寫 apache 配置文件 模板: 原始碼:/srv/httpd.j2 目標:/etc/httpd.conf 通知: - 重新載入服務