1

В настоящее время я использую простой узел.JS-сервер с express.js на моем RaspberryPi с установленным Debian. Все работает нормально, но каждое утро я просыпаюсь и вижу, что мой сервер больше не работает (процесс сервера, который я запустил с node main.js).

Моим первым предположением было то, что Pi имеет какой-то спящий режим, в который он входит через пару часов без трафика и т.д. И который отключает сервер, но я также запускаю dydns-клиент, который все еще работает каждое утро ,

Есть ли способ отследить процесс после того, как я начал его проверять завтра утром, что убило мой процесс или почему оно закончилось?

Сам сервер выглядит довольно просто, и я не думаю, что есть какое-то автоматическое отключение, которое я пропустил. Вот код, который я использовал.

var express = require('express');
var path    = require('path');

var server  = express();
server.use(express.static(path.join(__dirname, 'public')));

server.listen(1337);
console.log("Server listening (PORT: " + 1337 + ") ...");

Любая идея, что делать, чтобы сервер работал / выяснить, в чем причина остановки?

1 ответ1

0

Вы можете использовать некоторые инструменты управления процессами, такие как pm2 или навсегда.

Если вы используете pm2, вы можете pm2 start main.js Он будет отслеживать и перезапускать процесс, если его убьют. Вы можете найти причину ошибки в журналах pm2, расположенных внутри ~/.pm2

Вы можете запустить pm2 startup чтобы сгенерировать скрипт init, который позволяет pm2 запускаться при загрузке.

pm2 save сохраняет текущий список процессов, чтобы их можно было запускать при перезагрузке системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .