我有一个使用虚拟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条目吗?我缺少一些步骤吗?
谢谢!
答案 0 :(得分:1)
使用Capistrano进行部署时,您的版本目录中有一个名为current的符号链接。您的文档根目录应指向myapp/releases/current/public
的公共目录。然后,Capistrano更新每个部署的符号链接以指向最新版本。