【发布时间】:2013-09-19 08:06:30
【问题描述】:
我正在关注#335 Deploying to a VPS,当我运行cap deploy:cold 时,一切都很好,除了最后它报告
executing 'deploy:start'
executing "/etc/init.d/unicorn_just4magic start"
servers: ["106.XXX.XXX.XXX"]
[106.XXX.XXX.XXX] executing command
out :: 106.XXX.XXX.XXX sh: /etc/init.d/unicorn_just4magic: Permission denied
command finished in 502ms
failed: "env PATH=$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH sh -c '/etc/init.d/unicorn_just4magic start'" on
106.XXX.XXX.XXX
我可以在VPS上手动运行rails server,完全没有问题。
但是在使用 cap 进行部署时,我得到了上述错误。当我访问我的网站时,我会收到Sorry Something went wrong 提示
更新:
deploy.rb 是here,这里是start/restart 部分
%w[start stop restart].each do |command|
desc "#{command} unicorn server"
task command, roles: :app, except: {no_release: true} do
run "/etc/init.d/unicorn_#{application} #{command}"
end
end
更新2:
现在permission denied 提示没有出现,我遇到了另一个问题:
sudo: /etc/init.d/unicorn_just4magic: command not found
我找到Capistrano deploy:start with unicorn 和During cap deploy:cold - command not found for /etc/init.d/unicorn
我更改了shell脚本的行分隔符,并从git和set :bundle_flags, ''中删除了gemfile.lock。还是报错
【问题讨论】:
-
deploy.rb 可以放吗?它需要 sudo 用户权限
-
@RajarshiDas,看看我的更新
-
设为
run "#{sudo :as => 'cqcn'} /etc/init.d/unicorn_#{application} #{command}"或run "#{sudo} /etc/init.d/unicorn_#{application} #{command}" -
@RajarshiDas 它现在正在工作。但我得到
command not found错误。请看我的更新2 -
您好抱歉迟到了......找不到命令?
标签: ruby-on-rails capistrano unicorn