1

我有一个使用虚拟 Ubuntu 服务器、Apache、Passenger 和 Capistrano 的 Rails 应用程序。

我第一次使用 Capistrano 部署应用程序时,我已将 Passenger 设置为选择第一个版本,并在 httpd.conf 文件中使用以下代码:

<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 的符号链接。您的文档根目录应指向位于myapp/releases/current/public. 然后,Capistrano 更新每次部署的符号链接以指向最新版本。

于 2013-03-07T22:17:04.027 回答