首页 文章

Capistrano使用Passenger部署而不更改版本

提问于
浏览
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条目吗?我缺少一些步骤吗?

谢谢!!

1 回答

  • 1

    使用Capistrano进行部署时,在您的发布目录中有一个名为current的符号链接 . 您的文档根目录应指向 myapp/releases/current/public 处的公共目录 . 然后,Capistrano更新每个部署上的符号链接以指向最新版本 .

相关问题