как запустить "запуск npm" по PM2? - PullRequest
0 голосов
/ 30 сентября 2018

Я видел много вопросов здесь, но это не помогало мне.Поэтому задаю этот вопрос?

Я использую сервер DigitalOcean Ubuntu 16.04.У меня есть проект узла, запускаемый "npm start".

Сценарий:

"scripts": {    
    "start": "node ./bin/www"
}

обычно pm2 работает для

pm2 start app.js

Так как мой скрипт такой ипод управлением npm start как я могу запустить мой сервер навсегда.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

npm start && node app.js имеют разницу.это зависит от сценария запуска вашего проекта.

В вашем случае приведенный выше ответ является правильным, и он будет работать на pm2 start npm -- start.

, но если он также не работает для вас (я не понимаю, не знаю, почему он не работает для вас, поскольку вы не сообщаете нам об ошибке), вы можете изменить стартовый скрипт.

Чтобы сделать это, вы должны изменить свой код из файла bin/www, который у вас есть.взять код, который запускает сервер

пример:

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);


var server = http.createServer(app);



server.listen(port);
server.on('error', onError);
server.on('listening', onListening);



function normalizePort(val) {
  var port = parseInt(val, 10);

  if (isNaN(port)) {
    // named pipe
    return val;
  }

  if (port >= 0) {
    // port number
    return port;
  }

  return false;
}

и другие, которые вы написали в файле www для запуска сервера, должны переместить app.js или основной файлтогда вы можете попробовать:

pm2 start app.js
or
forever start app.js
0 голосов
/ 30 сентября 2018

Вы можете встроить npm-скрипты следующим образом:

pm2 start npm -- start

Если у вас есть собственный скрипт, вы можете запустить его так:

pm2 start npm -- run custom

-

В вашем случае pm2 start npm -- start будет работать node ./bin/www.Измените сценарий start на node app.js, если вы хотите запустить node app.js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...