[Sy] Node.jsでアプリを起動しようとしたら「listen EADDRINUSE」とエラーになる場合の対処
2015/07/29
Node.js
でアプリを起動しようとしたら、Error: listen EADDRINUSE
というエラーで起動に失敗しました。その原因と対処について。
エラー内容は以下。
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1042:14)
at listen (net.js:1064:10)
at net.js:1146:9
at asyncCallback (dns.js:68:16)
at Object.onanswer [as oncomplete] (dns.js:121:9)
調べてみると、ポートがすでに使われている場合に出るエラーとのこと。
そういえばforever start app
でデーモン化してたの忘れてました・・・
$ forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] GugN /usr/local/bin/node app.js 3611 3613 /home/vagrant/.forever/GugN.log 0:14:41:57.210
ということで、一旦デーモンでの起動をやめて、普通に起動できました。
$ forever stop app.js
info: Forever stopped process:
uid command script forever pid id logfile uptime
[0] GugN /usr/local/bin/node app.js 3611 3613 /home/vagrant/.forever/GugN.log 0:14:42:9.52
$ node app.js
他の方法としては、ポートを切り替えて起動してもいけそう。