Есть ли какая-то причина, по которой процесс nodeJs в pm2 вдруг перестает отвечать, пока не будет перезапущен - PullRequest
0 голосов
/ 06 апреля 2019

Я запускаю приложение Mean Stack на экземпляре Amazon EC2, и серверы Angular и Node работают в режиме демона, используя pm2.Но сервер перестает случайным образом реагировать через несколько дней, и он работает нормально, если я перезапускаю процессы pm2.

Я попытался прослушать порт и перезапустить процесс соответствующим образом с помощью этого сценария оболочки.Но это не помогло мне

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: connectECONNREFUSED 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 (домен.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) в Socket.(/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 (внутренний / streams / destroy.js: 82: 8) в emitErrorAndCloseNT (внутренний / streams / destroy.js: 50: 3) вargs. (анонимная функция) (/usr/lib/node_modules/pm2/node_modules/event-loop-inspector/index.js:138:29) в process._tickCallback (внутренний / process / next_tick.js: 63: 19)

Пожалуйста, дайте мне знать, где именно проблема?

...