有什么原因导致pm2的nodeJs进程突然停止响应,直到再次重新启动

时间:2019-04-06 11:37:30

标签: node.js mongodb amazon-ec2 mean-stack pm2

我正在Amazon EC2实例上运行Mean Stack应用程序,并且Angular和Node服务器都使用pm2在守护程序模式下运行。但是服务器在几天后停止随机响应,并且如果我重新启动pm2进程,它将正常工作。

我尝试监听该端口,并使用此Shell脚本相应地重新启动该过程。但它对我有用

if sudo lsof -ti tcp:port_number ; then
    echo "Command succeeded for mongod"
else
    sudo service mongod stop
    sleep 20
    sudo service mongod start
    pm2 restart 2
fi

if sudo lsof -ti tcp:port_number ; then
    echo "Command succeeded for server"
else
    pm2 restart 2
fi


if sudo lsof -ti tcp:port_number ; then
    echo "Command succeeded for app"
else
    pm2 restart 0
fi
  

在PM2中记录错误

MongoNetworkError:首次连接时无法连接到服务器[localhost:27017] [MongoNetworkError:连接ECONNREFUSED 127.0.0.1:27017]     在游泳池。 (/var/www/html/projectFolder/node_modules/mongodb-core/lib/topologies/server.js:503:11)     在Pool.emit(events.js:182:13)     在Pool.EventEmitter.emit(domain.js:442:20)     在连接。 (/var/www/html/projectFolder/node_modules/mongodb-core/lib/connection/pool.js:326:12)     在Object.onceWrapper(events.js:273:13)     在Connection.emit(events.js:182:13)     在Connection.EventEmitter.emit(domain.js:442:20)     在套接字。 (/var/www/html/projectFolder/node_modules/mongodb-core/lib/connection/connection.js:245:50)     在Object.onceWrapper(events.js:273:13)     在Socket.emit(events.js:182:13)     在Socket.EventEmitter.emit(domain.js:442:20)     在emitErrorNT上(内部/流/destroy.js:82:8)     在emitErrorAndCloseNT(internal / streams / destroy.js:50:3)     在args(匿名函数)(/usr/lib/node_modules/pm2/node_modules/event-loop-inspector/index.js:138:29)     在process._tickCallback(internal / process / next_tick.js:63:19)

请让我知道问题出在哪里?

0 个答案:

没有答案