2013-03-07 65 views
1

我有一个使用虚拟Ubuntu服务器,Apache,Passenger和Capistrano的Rails应用程序。Capistrano部署使用Passenger不改变版本

我第一次在部署应用程式与Capistrano的我已成立乘客选择使用此代码在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

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

+0

感谢您的帮助!我做了修改并重新启动了Apache。但是,现在我得到了Forbidden 您无权访问此服务器上的/ home/index。 – Reddirt 2013-03-07 22:33:03

+0

什么是/ home/index?您的httpd.conf文件应包含文档根目录的/ opt/bitnami/projects/ndeavor/current/public。不确定/ home/index来自 – jxpx777 2013-03-07 22:36:02

+0

我修正了它 - https.conf中有另一行需要myapp/releases/current/public。它是#这应该更改为您设置DocumentRoot的任何内容。 # <目录“/ opt/bitnami/projects/ndeavor/current/public”> – Reddirt 2013-03-07 22:39:03