1

我需要帮助调试以下问题。这是我第一次部署,我还没有想出解决方案。

  * 2012-12-05 18:37:44 executing `deploy:start'
  * executing "/etc/init.d/unicorn_blog start"
executing command
/etc/init.d/unicorn_blog: 24: kill: No such process
master failed to start, check stderr log for details

这是标准错误

/.../unicorn/socket_helper.rb:140:in `initialize': Address already in use - /tmp/unicorn.my_app.sock (Errno::EADDRINUSE)
4

4 回答 4

4

看起来您有一个僵尸 Unicorn 进程,其 PID 与 init.d 记录的 PID 不同。我会尝试运行$ ps aux | grep unicorn找到僵尸进程,然后kill它。

于 2012-12-06T00:04:33.343 回答
2

不确定它是如何工作的,但以下解决方案确实有效。

lsof /tmp/unicorn.my_app.socket 

列出 pid

kill -9 pid

(将“pid”替换为列出的其中之一)

Then cap deploy:start from the local terminal.

来源:Unicorn/Nginx 进程丢失,套接字打开

于 2012-12-06T00:05:49.240 回答
1

我不得不

sudo rm /tmp/unicorn.my_app.sock

sudo /etc/init.d/unicorn_myapp start
于 2013-09-01T23:09:52.180 回答
0

我得到了同样的错误,我修复如下:

  1. SSH 到您的项目部署到的服务器,并运行这些命令
    ps -ef | grep unicorn=> list pid of unicorn。找到你的 unocorn master 进程 ID。
    用上面的 pid 替换“unicorn.my_app.sock”上的 pid。

  2. 尝试使用 capistrano 再次部署。

于 2015-09-29T04:33:08.200 回答