nodejsサーバーで永遠にアプリケーションを実行したいと思っています。しかし、pm2とforeverでは動作しないようです。Nodejs + expressjs - pm2と永遠に動作しないのですか?
私は手動でアプリを起動した場合:
$ npm start
> [email protected] start /var/www/path/to/myapp
> node ./bin/www
私は成功した私のブラウザでアプリを見ることができます。
しかしPM2と:
$ pm2 start /var/www/path/to/myapp/app.js
[PM2] Applying action restartProcessId on app [app](ids: 0)
[PM2] [app](0) ✓
[PM2] Process successfully started
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ app │ 0 │ fork │ 29210 │ online │ 0 │ 0s │ 12.383 MB │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘
私もこれを試してみました:
$ cd /var/www/path/to/myapp
$ pm2 start app.js
それはアプリがオンラインであることを述べています。私は私のブラウザでアプリにアクセスしようとすると、しかし:http://127.0.0.1:3000/
私はこのエラーを取得する:永遠と
This webpage is not available
ERR_CONNECTION_REFUSED
:
$ sudo forever start app.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: app.js
しかし、まったく運。
私が逃したアイデアはありますか?
EDIT:package.jsonで
:
{
"name": "iot",
"version": "1.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"bcrypt": "^0.8.7",
"body-parser": "~1.15.1",
"connect-mongo": "^1.2.1",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"express": "~4.14.0",
"express-session": "^1.13.0",
"hat": "0.0.3",
"rand-token": "^0.2.1",
"method-override": "^2.3.6",
"mongoose": "^4.5.1",
"morgan": "~1.7.0",
"pug": "~2.0.0-beta3",
"serve-favicon": "~2.3.0"
}
}
私は"scripts"
を削除し、npm update
を実行した場合:
{
"name": "iot",
"version": "1.0.0",
"private": true,
"dependencies": {
"bcrypt": "^0.8.7",
"body-parser": "~1.15.1",
"connect-mongo": "^1.2.1",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"express": "~4.14.0",
"express-session": "^1.13.0",
"hat": "0.0.3",
"rand-token": "^0.2.1",
"method-override": "^2.3.6",
"mongoose": "^4.5.1",
"morgan": "~1.7.0",
"pug": "~2.0.0-beta3",
"serve-favicon": "~2.3.0"
}
}
それから私は、手動で再びアプリを起動するが、エラーが出ます:
$ npm start
npm ERR! Linux 3.13.0-76-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v5.10.1
npm ERR! npm v3.8.3
npm ERR! missing script: start
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
'package.json'の' scripts.start'の本文は何ですか? – Nonemoticoner
@Nonemoticoner上記の私の編集をご覧ください。ありがとう。 'scripts.start'とは何ですか? – laukok
私は 'start'スクリプトを意味しました。過度にそれを申し訳ありません。うーん、あなたはディレクトリのためのノードを始めるが、foreverとpm2を使うときは特定のファイルから始める。 Dunno、しかしそれは原因かもしれない。 – Nonemoticoner