簡體   English   中英

使用capistrano部署Rails應用程序,沒有錯誤,但瀏覽器未打開網站

[英]Deploy rails application with capistrano, no errors but browser doesn't open website

我有一個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行。 前三行已經存在,我為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:checkcap deploy:migrations 一切似乎都很好。 Capistrano不會吐出任何錯誤。 它創建一個新的發行目錄,並創建restart.txt文件。 但是,如果我嘗試在瀏覽器中打開myapp.mydomain.co.uk ,它將無法打開它。 日志文件為空。

有什么想法可能出什么問題嗎?

您是否已將特定於旅客的配置添加到Apache conf中? 在您的示例中我看不到它!

您是否在/ var / www / myapp文件夾中創建了當前文件夾? 通常,您必須在上限部署后運行“上限部署”:migrations

您的vhost定義中有錯字。 在目錄塊中,您缺少/ current文件夾。 DocumentRoot可以。

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

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

這樣可以解決您的問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM