首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何手动重启unicorn

如何手动重启unicorn
EN

Stack Overflow用户
提问于 2013-10-14 09:06:13
回答 3查看 47.4K关注 0票数 16

当我运行cap deploy时,我不确定unicorn是否能正确重启,因为应用程序中没有显示某些更改,因此我想在我的远程服务器上手动重启unicorn。我已经导航到etc/init.d,看到了unicorn_myapp的列表,但它不是一个目录(即我不能cd进入它)。基于我的deploy.rb文件中的以下代码,我可以从这里做些什么来重启unicorn吗?

我试着做run unicorn_myapp restart,但它说run不是一个命令

代码语言:javascript
复制
namespace :deploy do
  %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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-14 09:10:47

你没有列出操作系统。但以下其中一种方法应该可以工作。

您需要是root用户/使用sudo

代码语言:javascript
复制
/etc/init.d/unicorn_myapp restart 


/etc/init.d/unicorn_myapp stop 
/etc/init.d/unicorn_myapp start 


service unicorn_myapp restart

service unicorn_myapp stop
service unicorn_myapp start

首先尝试重新启动版本,但根据init脚本的编写方式,它可能没有重新启动命令,如果该命令不起作用,您可以执行停止/启动版本。

票数 31
EN

Stack Overflow用户

发布于 2013-12-21 21:31:50

或者,与依赖于操作系统的/etc/init.d...脚本不同,重启unicorn的一种简单方法是向其主进程发送HUP (1)信号。

例如,我如何通过post-receive钩子在git push之后自动重新加载应用程序:

代码语言:javascript
复制
#!/bin/sh
unicorn_pid=`cat /tmp/pids/unicorn.pid`
echo "Restarting Unicorn ($unicorn_pid)"
kill -HUP $unicorn_pid

在您的示例中,/etc/init.d/unicorn_myapp restart脚本可能正在执行此操作。检查unicorn.conf中其pidfile的位置。

有关更多详细信息,请参阅unicorn SIGNALS documentations

票数 28
EN

Stack Overflow用户

发布于 2013-10-14 09:10:02

您可能必须是根用户,但它应该是/etc/init.d/unicorn_myapp restart (不要包含run,它不是一个外壳命令)。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19352125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档