我有一个使用虚拟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 回答
使用Capistrano进行部署时,在您的发布目录中有一个名为current的符号链接 . 您的文档根目录应指向
myapp/releases/current/public
处的公共目录 . 然后,Capistrano更新每个部署上的符号链接以指向最新版本 .