[Ansible] nginx環境でgeerlingguy.phpのロール実行時にrestart webserverでエラーになる時

カテゴリ: Ansible, nginx, PHP

Ansibleでnginxがインストールされた環境に対してgeerlingguy.phpのロールを実行するとwebサーバの再起動で下記のエラーが発生します。

$ ansible-playbook playbook.yml

...
RUNNING HANDLER [geerlingguy.php : restart webserver] ***********************************
fatal: [dev]: FAILED! => {
    "changed": false, 
    "msg": "Unable to start service httpd: Job for httpd.service failed 
            because the control process exited with error code.\n
            See \"systemctl status httpd.service\" and \"journalctl -xe\" for details.\n"
}

これは、geerlingguy.phpのロールで、webサーバがnginxではなくApacheを想定しているためwebサーバの再起動に失敗するのが原因です。

これを解消するためには、playbook.ymlへ下記のようにphp_webserver_daemonを追加し、webサーバのデーモン名へnginxと明記すれば良いです

    - role: geerlingguy.php
      php_webserver_daemon: "nginx.service"
Amazonでポイントを賢くGETする方法
Amazonギフト券チャージ で最大2.5%もお得!
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。