Разверните приложение rails с помощью capistrano, без ошибок, но браузер не открывает сайт - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть приложение rails, которое я хочу развернуть с apache, passenger и capistrano.

Приложение находится в /var/www/myapp/.

В моем файле http.conf я добавил этоблок:

<VirtualHost *:80>
  ServerName myapp.mydomain.co.uk
  DocumentRoot /var/www/myapp/current/public
  <Directory /var/www/myapp/public>
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

Мой /etc/hosts файл содержит 4 строки.Первые 3 строки уже были там, и я добавил четвертую строку для моего приложения rails.

127.0.0.1               localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
130.88.111.33           mydomain.ac.uk ngrl
127.0.0.1               myapp.mydomain.co.uk

Мой deploy.rb файл выглядит так:

set :user, 'me'
set :domain, 'mydomain.co.uk'
set :application, 'myapp'

set :repository, "me@mydomain.co.uk:git/myapp.git"
set :deploy_to, "/var/www/myapp"
set :normalize_asset_timestamps, false

role :app, domain
role :web, domain
role :db, domain, :primary => true

default_run_options[:pty] = true

set :deploy_via, :remote_cache
set :scm, 'git'
set :branch, 'master'
set :scm_verbose, true
set :use_sudo, false

namespace :deploy do
  desc "cause Passenger to initiate a restart"
  task :restart do
    run "touch #{File.join(current_path, 'tmp','restart.txt')}"
  end

  desc "reload the database with seed data"
  task :seed do
   run "cd #{current_path}; rake db:seed RAILS_ENV=production"
  end
end

after "deploy:update_code", :bundle_install
desc "install the necessary prereqisites"
task :bundle_install, :roles => :app do
  run "cd #{release_path} && bundle install"
end

Я запустил cap deploy:setupcap deploy:check и cap deploy:migrations.Кажется, все в порядке.Capistrano не выкладывает ошибок.Он создает новый каталог выпуска, создает файл restart.txt.Но если я попытаюсь открыть myapp.mydomain.co.uk в браузере, он не сможет его открыть.Лог-файл пуст.

Есть идеи, что здесь может пойти не так?

Ответы [ 3 ]

0 голосов
/ 13 декабря 2011

Вы видели, создается ли текущая папка в папке / var / www / myapp?Обычно вам нужно запустить «cap deploy» после cap deploy: migrations

0 голосов
/ 14 декабря 2011

У вас есть опечатка в вашем определении vhost.В блоке Каталога вам не хватает / текущей папки.DocumentRoot в порядке.

....
DocumentRoot /var/www/myapp/current/public
<Directory /var/www/myapp/public>
...

против

...
DocumentRoot /var/www/myapp/current/public
<Directory /var/www/myapp/current/public>
...

Устраняет ли это вашу проблему?

0 голосов
/ 13 декабря 2011

Вы добавили специфичную для Пассажира конфигурацию в Apache conf? Я не вижу этого в вашем примере!

...