部署后,Unicorn会定期无法重启 - 陈旧的PID

时间:2015-02-09 19:09:43

标签: ruby chef unicorn pid upstart

我一直试图独自解决这个问题并且没有任何运气。当我在大约10%的时间内重新部署rails应用程序时会发生这种情况。另外90%的时间部署顺利进行。

我已经尝试过再次尝试,但没有成功。所以我转向SO群众寻求帮助。

关于我的堆栈:我正在使用厨师在Ubuntu 14.04上运行vagrant并使用upstart来监控独角兽。

错误:

srv/www/rails/releases/ef6a792a19f8bb9d36ef4d0ab15ee38ca91a0cd1/vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:206:in `pid=': Already running on PID:17694 (or pid=/srv/www/rails/shared/pids/unicorn.pid is stale) (ArgumentError)
from /srv/www/rails/releases/ef6a792a19f8bb9d36ef4d0ab15ee38ca91a0cd1/vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:135:in `start'
from /srv/www/rails/releases/ef6a792a19f8bb9d36ef4d0ab15ee38ca91a0cd1/vendor/bundle/ruby/2.1.0/gems/unicorn-4.8.3/bin/unicorn:126:in `<top (required)>'
from /srv/www/rails/releases/ef6a792a19f8bb9d36ef4d0ab15ee38ca91a0cd1/vendor/bundle/ruby/2.1.0/bin/unicorn:23:in `load'
from /srv/www/rails/releases/ef6a792a19f8bb9d36ef4d0ab15ee38ca91a0cd1/vendor/bundle/ruby/2.1.0/bin/unicorn:23:in `<main>'

我的独角兽新贵脚本是here。我可以查看我的独角兽配置文件​​here

如果您需要更多信息,请与我们联系。以上感谢您的帮助和时间。

1 个答案:

答案 0 :(得分:2)

我也遇到过这种情况。在尝试运行Unicorn之前,您需要清除upstart脚本中的旧PID文件。

rm /srv/www/rails/shared/pids/unicorn.pid

或者,请查看https://github.com/tablexi/capistrano3-unicorn以了解确定服务器状态和正确启动/重启Unicorn的方法。