簡體   English   中英

帶有Forever腳本的Node.js有時將無法訪問

[英]Nodejs with Forever script will not accessible after sometime

我有一個Nodejs項目,該項目托管在Digital Ocean中,並使用Forever腳本保持運行。 但是我意識到一段時間后會出現一些錯誤,導致站點崩潰。 這不僅發生了一次,而且已經發生過幾次,下面是永遠的日志:

Error: Connection lost: The server closed the connection.
    at Protocol.end (/var/www/menu/node_modules/mysql/lib/protocol/Protocol.js:109:13)
    at Socket.<anonymous> (/var/www/menu/node_modules/mysql/lib/Connection.js:109:28)
    at emitNone (events.js:72:20)
    at Socket.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:905:12)
    at nextTickCallbackWith2Args (node.js:441:9)
    at process._tickCallback (node.js:355:17)
error: Forever detected script exited with code: 1
error: Script restart attempt #178
Listening on xxx.xxx.xxx.xxx, server_port 80
events.js:141
      throw er; // Unhandled 'error' event

Error: connect ECONNREFUSED 127.0.0.1:3306
    at Object.exports._errnoException (util.js:870:11)
    at exports._exceptionWithHostPort (util.js:893:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1063:14)
    --------------------
    at Protocol._enqueue (/var/www/menu/node_modules/mysql/lib/protocol/Protocol.js:141:48)
    at Protocol.handshake (/var/www/menu/node_modules/mysql/lib/protocol/Protocol.js:52:41)
    at Connection.connect (/var/www/menu/node_modules/mysql/lib/Connection.js:130:18)
    at Connection._implyConnect (/var/www/menu/node_modules/mysql/lib/Connection.js:461:10)
    at Connection.query (/var/www/menu/node_modules/mysql/lib/Connection.js:206:8)
    at Object.<anonymous> (/var/www/menu/config/db.js:14:12)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
error: Forever detected script exited with code: 1

我不確定為什么會這樣,因為日志沒有說明導致錯誤的行,而且似乎Forever曾經嘗試重新啟動腳本,但失敗了。 但是,一旦我SSH進入服務器並再次啟動它,它就已經可以正常工作了。 有人能幫忙嗎? 謝謝。

Error: connect ECONNREFUSED 127.0.0.1:3306

您收到此錯誤,表示該端口正在使用中。 您可以使用以下命令殺死在該端口上運行的進程。

sudo kill $(sudo lsof -t -i:3306)

之后,您可以像永遠一樣永久地重新部署服務器。

發生在我身上問題似乎與mysql連接有關。

請參考此stackoverflow問題以解決您的問題

nodejs mysql錯誤:連接丟失服務器關閉了連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM