title: Need a reboot after a deployment with Capistrano
body: <p>I'm running a rails 3 application hosted on a Ubuntu 12.04 VPS. I'm using Capistrano for the deployment and nginx + unicorn for the server.<br>
  My problem is that if I did a "cap deploy", my website displays the old code until I reboot my VPS. I check the current code on the server and it is the right one. I have already tried to restart nginx, but it doesn't work.
  My deploy file (I followed the Railscast):</p>
  
  <pre><code># deploy.rb
  
  require "bundler/capistrano"
  require 'new_relic/recipes'
  
  server "188.165.145.167", :web, :app, :db, primary: true
  
  set :application, "neurones"
  set :user, "neurones"
  set :deploy_to, "/home/neurones/apps/#{application}"
  set :deploy_via, :remote_cache
  set :use_sudo, false
  set :shared_children, shared_children + %w{public/uploads}
  
  set :scm, "git"
  set :repository, "git@github.com:khcr/neurones.git"
  set :branch, "master"
  
  default_run_options[:pty] = true
  ssh_options[:forward_agent] = true
  
  after "deploy", "deploy:cleanup" # keep only the last 5 releases
  after "deploy:update", "newrelic:notice_deployment" # update new relic
  
  namespace :deploy do
    %w[start stop restart].each do |command|
      desc "#{command} unicorn server"
      task command, roles: :app, except: {no_release: true} do
        run "/etc/init.d/unicorn_#{application} #{command}"
      end
    end
  
    task :setup_config, roles: :app do
      sudo "ln -nfs #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application}"
      sudo "ln -nfs #{current_path}/config/unicorn_init.sh /etc/init.d/unicorn_#{application}"
      run "mkdir -p #{shared_path}/config"
      put File.read("config/database.example.yml"), "#{shared_path}/config/database.yml"
      puts "Now edit the config files in #{shared_path}."
    end
    after "deploy:setup", "deploy:setup_config"
  
    task :symlink_config, roles: :app do
      run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
    end
    after "deploy:finalize_update", "deploy:symlink_config"
  
    desc "Make sure local git is in sync with remote."
    task :check_revision, roles: :web do
      unless `git rev-parse HEAD` == `git rev-parse origin/master`
        puts "WARNING: HEAD is not the same as origin/master"
        puts "Run `git push` to sync changes."
        exit
      end
    end
    before "deploy", "deploy:check_revision"
  end
  </code></pre>