1

Virtual Ubuntu Server、Apache、Passenger、および Capistrano を使用する Rails アプリがあります。

初めて Capistrano でアプリをデプロイしたとき、httpd.conf ファイルで次のコードを使用して、最初のリリースを選択するように Passenger を設定しました。

<VirtualHost *:80>
  ServerName ndeavor.ameipro.com
  DocumentRoot /opt/bitnami/projects/ndeavor/releases/20130306192753/public
 <Directory /opt/bitnami/projects/ndeavor/releases/20130306192753/public>
   Allow from all
   Options -MultiViews
 </Directory>
</VirtualHost>

これで、Rails アプリの正しい最初のリリースが開始されました。

Cap Deploy を実行すると、Capistrano が自動的に Passenger に新しいリリースを起動させたいと思います。

だから、私は deploy.rb でこれらの行のコメントを外しました

# If you are using Passenger mod_rails uncomment this:
  namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true } do
   run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
 end

新しいリリースは開始されませんでした。https.conf ファイルから VirtualHost エントリを削除する必要がありますか? 私が見逃しているステップはありますか?

ありがとう!!

4

1 に答える 1

1

Capistrano でデプロイする場合、リリース ディレクトリに current というシンボリック リンクがあります。ドキュメント ルートは、 の public ディレクトリを指している必要がありますmyapp/releases/current/public。次に、Capistrano は各デプロイのシンボリック リンクを更新して、最新のリリースを指すようにします。

于 2013-03-07T22:17:04.027 に答える