サーバー構成をChefで記述してみよう。

nginxとphp-fpmを起動させて高速化させるので nginxとphp-fpmをインストールして起動させるというのを逐一書いていくことによりそれを knife solo で実行した時に他のサーバーでやるというシステム

#nginx をインストールする
package "nginx" do
     action:install
 end

#php-fpmをインストールする
package "php-fpm" do
      action:install
 end

#nginx を起動させる
service "nginx" do
     action :start
end

#php-fpm を起動させる
service "php-fpm" do
    action :start
end

#DocumentRoot に指定あるディレクトリを作成する
directory "/var/www/" do
 owner "root" 
 group "root" 
 mode 0755
 action :create
end 

# mysite.conf.erbというテンプレートから
# /etc/nginx/conf.d/mysite.confという設定ファイルを作成する
 template "/etc/nginx/conf.d/mysite.conf" do
 source "/usr/local/chef-solo/templates/default/mysite.conf.erb" 
 owner "root" 
 group "root" 
 mode 0644
 action :create
 variables({ # テンプレートに与える変数の値を指定する
 :hostname => `/bin/hostname`.chomp
              })
 end

今回設定のテンプレートを /etc/nginx/conf.d/mysite.conf として置いた