WEBサイトのホストを変えた時にやったこと

nginx version: nginx/1.2.1

今までhttp://jiikko.me/レンタルサーバで動かしていたんだけど、レンタルサーバ自体をほぼ使ってないし、nginxの勉強も兼ねて、契約しているVPSに移行してみた。

やったこと

capistranoの設定ファイルを変更しVPSへデプロイするようにした

変更内容は、ホストをVPSとデプロイ先のディレクトリを変更した。
それとVPSからリポジトリをcloneできるよう、gitリポジトリに鍵を登録した。

# deploy.rb
set :user, 'hoge'
set :use_sudo, false

set :scm, :git
set :repository, 'git@bitbucket.org:jiikko/jiikko.me.git'
set :branch, 'master'

set :git_shallow_clone, 1
set :deploy_via, :export                                                                                                                                    

set :deploy_to, "/var/www/jiikko.me"

role :web, "133.242.187.194"
set :normalize_asset_timestamps, false
nginxの設定ファイルを作成

リポジトリ内にnginxの設定ファイルを作成し、jiikko.me.confという名前にした。
jiikko.me.conf

server {                                                                                                                                                    
  listen 80;
  root /var/www/jiikko.me/current/public;
  server_name jiikko.me;

  access_log on;
  access_log  /var/log/nginx/jiikko.me-access.log;
  error_log /var/log/nginx/jiikko.me-error.log;
}

server_nameは、ドメインと同様のものにする。
(nginxがリクエストをどのserverディレクティブに振り分けるかは、portとHOSTヘッダを見ているとのこと。)
htmlファイルを配信するだけなのでこれだけでいいっぽい。
デプロイおk。

デプロイ後にnginx設定ファイルを/etc/nginx配下にシンボリックリンクする

/etc/nginx/sites-available に リポジトリのjiikko.me.confのシンボリックリンクを貼る。
/etc/nginx/sites-enabled に /etc/nginx/sites-available/jiikko.me.confのシンボリックリンクを貼る。
再起動する。

$ sudo service nginx restart

/etc/nginx/sites-enabledディレクトリに入っている設定ファイルは、デフォルトの設定ファイル(nginx.conf)で
すべてincludeするようになってるのでこれでいい。

hostsにhost名とIPアドレスを追加してnginxがちゃんと配信してくいるか確認する。

/etc/hostsに以下追記。

133.242.187.194 jiikko.me 

ブラウザでhttp://jiikko.meにアクセス。

DNSの設定をかえる

画面でぽちぽちやる。
切り替え前はTTL短くしているとすぐ確認できるのでいいらしい。

おしまい。