【问题标题】:sudo stdout: unicorn_appname_production: unrecognized servicesudo stdout:unicorn_appname_production:无法识别的服务
【发布时间】:2016-02-10 19:02:57
【问题描述】:

我有一个带有 nginx、rails、ruby、unicorn 和 capistrano 的 ubuntu 服务器,我已经设置好了,运行时没有问题

上限生产部署:检查

但是当我运行时

上限生产部署

我得到这个错误:

sudo stdout: unicorn_frank_production: 无法识别的服务

运行失败

/usr/bin/env sudo service unicorn_appname_production restart

我认为问题出在最后一个“_production”,因为当我刚刚运行命令时

/usr/bin/env sudo 服务 unicorn_appname 重启

效果很好,但我不知道如何更改 capistranos 命令,因此非常感谢您对此事的任何帮助!

deploy.rb

Capfile

【问题讨论】:

  • 您能发布运行 Capistrano 部署的输出吗?谢谢!
  • 还有你的 Capfile 和 deploy.rb
  • Capistrano 输出错误:pastie.org/10547635
  • 是不是您的symlinks 部分定义不符合预期? "/etc/init.d/unicorn_#{fetch(:application)}" 可能需要_#{fetch(:stage)}(不过我不记得关键字了)。
  • 我没有改变任何东西,仍然是同样的错误。这不是我可以更改 capistrano 任务的方法,以便它调用unicorn_frank,而不是unicorn_frank_production

标签: ruby-on-rails ruby ubuntu nginx capistrano3


【解决方案1】:

看起来capistrano/unicorn_nginx 将其unicorn_service 变量默认为"unicorn_#{fetch(:application)}_#{fetch(:stage)}" 形式,如https://github.com/capistrano-plugins/capistrano-unicorn-nginx/blob/master/lib/capistrano/tasks/unicorn.rake#L9 所示

如果在您的deploy.rb 中,您添加了:

set :unicorn_service, -> { "unicorn_#{fetch(:application)}" }

这应该可以满足您的期望。

希望这会有所帮助!

【讨论】:

  • 非常感谢,这成功了!
猜你喜欢
  • 2017-01-13
  • 1970-01-01
  • 2023-03-24
  • 2017-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-14
  • 2015-12-12
相关资源
最近更新 更多