3

I try deploy rails project with capistrano, passenger and nginx to AWS server. But I can't deploy it because this bug.

INFO [0007b4de] Finished in 0.212 seconds with exit status 0 (successful).
DEBUG [484bf595] Running /usr/bin/env [ -L /var/www/happyhour/releases/20150402075058/bin ] as myname@x.x.x.x
DEBUG [484bf595] Command: [ -L /var/www/myproject/releases/20150402075058/bin ]
DEBUG [484bf595] Finished in 0.625 seconds with exit status 1 (failed).
DEBUG [35fe9fd2] Running /usr/bin/env [ -d /var/www/myproject/releases/20150402075058/bin ] as myname@x.x.x.x
DEBUG [35fe9fd2] Command: [ -d /var/www/myproject/releases/20150402075058/bin ]
DEBUG [35fe9fd2] Finished in 0.580 seconds with exit status 0 (successful).

AND bug.

DEBUG [38c8a3d8]    /usr/bin/env: passenger: No such file or directory
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as myname@x.x.x.x: passenger exit status: 127
passenger stdout: Nothing written
passenger stderr: /usr/bin/env: passenger: No such file or directory

File Capfile.rb

require 'capistrano/setup'
require 'capistrano/deploy'

require 'capistrano/rails'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'rvm1/capistrano3'
# require "rvm/capistrano"
require 'capistrano/bundler'
require 'capistrano/passenger'
# require 'whenever/capistrano'
# require 'capistrano3/unicorn'

Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

File deploy.rb

require 'rvm1/capistrano3'
# require "rvm/capistrano"
# require 'whenever/capistrano'

lock '3.2.1'

set :application, 'myproject'
set :repo_url, 'git@github.com:myname/myproject.git'
set :deploy_to, '/var/www/myproject'
set :keep_releases, 4

set :rvm_type, :system
set :rvm1_ruby_version, '2.2.0'
#set :default_env, { rvm_bin_path: '~/.rvm/bin' }
# set :default_env, { path: "/opt/ruby/bin:$PATH" }


set :linked_dirs, %w{bin log tmp/backup tmp/pids tmp/cache tmp/sockets vendor/bundle}
set :passenger_pid, "#{shared_path}/tmp/pids/passenger.pid"

set :bundle_jobs, 4

# set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" }
# set :whenever_command, "bundle exec whenever"

after 'deploy:publishing', 'deploy:restart'
namespace :deploy do
  task :restart do
    invoke 'passenger:restart'
  end
end

File production.rb

set :branch, 'develop'

role :app, %w{myname@x.x.x.x}
role :web, %w{myname@x.x.x.x}
role :db,  %w{myname@x.x.x.x}

set :stage, :production
set :rails_env, 'production'

server 'IP Server', user: 'myname', roles: %w{web app db}

Please help me this bug.

Thanks,

  • 1
    I'm having the same issue, I filed a bug with the repo: https://github.com/capistrano/passenger/issues/26 – jspizziri Jun 18 '15 at 18:54

2 Answers2

3

As a workaround, try putting this in your deploy.rb:

set :passenger_restart_with_touch, true

Doing so will skip the check for the passenger version. For more info, see this GitHub issue.

Brian
  • 1,028
  • 12
  • 20
0
rvmsudo ~/.rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.14/bin/passenger-install-nginx-module

There are full path to tour ruby version (of rvm) (get from Passenger installation with nginx fails)

Community
  • 1
  • 1
Legendary
  • 2,243
  • 16
  • 26