我需要帮助调试以下问题。这是我第一次部署,但我无法提出解决方案。
* 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
这是stderr
/.../unicorn/socket_helper.rb:140:in `initialize': Address already in use - /tmp/unicorn.my_app.sock (Errno::EADDRINUSE)
答案 0 :(得分:4)
看起来你的僵尸Unicorn进程运行的PID不同于init.d记录的PID。我会尝试运行$ ps aux | grep unicorn
来查找僵尸进程,然后kill
。
答案 1 :(得分:2)
不确定它是如何工作的,但以下解决方案确实有效。
lsof /tmp/unicorn.my_app.socket
列出了pid
kill -9 pid
(将'pid'替换为列出的那些之一)
Then cap deploy:start from the local terminal.
答案 2 :(得分:1)
我不得不
sudo rm /tmp/unicorn.my_app.sock
和
sudo /etc/init.d/unicorn_myapp start
答案 3 :(得分:0)
我得到了同样的错误,我修复如下:
SSH到项目部署到的服务器,并运行这些命令
ps -ef | grep unicorn
=>列出独角兽的pid。找到你的unocorn master的进程ID
用上面的pid替换“unicorn.my_app.sock”上的pid。
尝试再次使用capistrano进行部署。