当通过Capistrano部署我的Rails应用程序时,它尝试执行的最后一件事是: sudo -p 'sudo password: ' -u app /home/user/public_html/example.com/current/script/process/reaper 然后它抛出这个错误: failed: "sh -c \"su
sudo -p 'sudo password: ' -u app /home/user/public_html/example.com/current/script/process/reaper
然后它抛出这个错误:
failed: "sh -c \"sudo -p 'sudo password: ' -u app /home/user/public_html/example.com/current/script/process/reaper\"" on 123.456.789.012
该应用程序仍然部署并开始正常…但是进程/收割机做了什么,我该怎么做才能摆脱错误?
在Mongrel / Passenger时代之前和在Rack上构建之前,运行Rails应用程序的唯一方法是使用CGI或FGCI.脚本/收割者文件用于启动/停止Rails进程.
默认情况下,Capistrano尝试启动运行reaper脚本的新Rails进程.
您应该自定义默认行为.
假设您使用Passenger运行Rails应用程序(mod_rails),请安装以下Capistrano + Passenger (mod_rails)配方,Capistrano将在部署时正常重启您的Passenger实例.