現在、サーバーをプロビジョニングするために Ansible を調査しています。これは、かなりデフォルトのnginx、php-fpm、およびmysqlのセットアップです。ただし、これらのパッケージのインストールと、実行中のサービスでプレイブックをべき等にする方法について疑問に思っています。
nginx の場合、デフォルトnginx.conf
といくつかのファイルがconf.d/
. php の場合php.ini
、php-fpm.conf
、 、 プールがpool.d/
あり、いくつかの ini ファイルが にありconf.d/
ます。すべての ansible playbook 呼び出しですべてのファイルを上書きするという考えはありますか?
すべての構成が上書きされた場合、サーバーに負荷がかかっている場合でも実行しservice nginx reload
ても問題ありませんか? service php5-fpm reload
初期インストールでは、サーバーが起動しないため、最初にステータスを確認し、それに基づいてと?reload
を切り替える必要があります。start
reload
nginx がインストールされた Playbook を探すと、nginx を再起動するハンドラーを使用することがよくあります。ただし、これは優雅ではないため、そのアプローチはあまり好きではありません。
service: name=nginx state=restarted
一般に、再起動を強制せずに、nginx、php-fpm、mysql などのサービスで ansible を使用してサーバーをプロビジョニングする一般的なパターンは何ですか?