2017-05-01 3 views
0

Ich habe meine App auf Heroku gut ohne Probleme bereitgestellt. Ich konnte heroku local web auf localhost laufen lassen: 5000 und es hat funktioniert. Als ich zur Web-Dyno-Adresse ging, hieß es Anwendungsfehler. Ich habe die Protokolle für die Website und es sagte:Heroku Node.js App "Prozess beendet mit Status 1" und Fehler h10

2017-05-01T02:52:30.980217+00:00 app[web.1]:  at Connection.<anonymous> (/app/node_modules/mongodb-core/lib/connection/pool.js:274:12) 
2017-05-01T02:52:30.980218+00:00 app[web.1]:  at emitTwo (events.js:106:13) 
2017-05-01T02:52:30.980218+00:00 app[web.1]:  at Socket.<anonymous> (/app/node_modules/mongodb-core/lib/connection/connection.js:177:49) 
2017-05-01T02:52:30.980218+00:00 app[web.1]:  at Connection.emit (events.js:191:7) 
2017-05-01T02:52:30.980219+00:00 app[web.1]:  at emitOne (events.js:96:13) 
2017-05-01T02:52:30.980220+00:00 app[web.1]:  at Socket.emit (events.js:188:7) 
2017-05-01T02:52:30.980221+00:00 app[web.1]:  at process._tickCallback (internal/process/next_tick.js:104:9) 
2017-05-01T02:52:31.040828+00:00 heroku[web.1]: State changed from starting to crashed 
2017-05-01T02:52:31.029211+00:00 heroku[web.1]: Process exited with status 1 
2017-05-01T02:52:40.638415+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=room111-thoughts.herokuapp.com request_id=91b591cf-3d8d-4d94-8caf-7b1b868b088b fwd="108.221.62.78" dyno= connect= service= status=503 bytes= protocol=https 
2017-05-01T02:52:41.600924+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=room111-thoughts.herokuapp.com request_id=c8f6c2d3-dc38-4e65-9a20-581910f42b36 fwd="108.221.62.78" dyno= connect= service= status=503 bytes= protocol=https 

Ich bin mit node.js und server.js (die Initialisierung Skript) ist wie folgt

// load environment variables 
 
require('dotenv').config(); 
 

 
// grab our dependencies 
 
const express = require('express'), 
 
    app   = express(), 
 
    port   = process.env.PORT || 8080, 
 
    expressLayouts = require('express-ejs-layouts'), 
 
    mongoose  = require('mongoose'), 
 
    bodyParser  = require('body-parser'), 
 
    session  = require('express-session'), 
 
    cookieParser = require('cookie-parser'), 
 
    flash   = require('connect-flash'), 
 
    expressValidator = require('express-validator'); 
 

 
// configure our application =================== 
 
// set sessions and cookie parser 
 
app.use(cookieParser()); 
 
app.use(session({ 
 
    secret: process.env.SECRET, 
 
    cookie: { maxAge: 60000 }, 
 
    resave: false, // forces the session to be saved back to the store 
 
    saveUninitialized: false // dont save unmodified 
 
})); 
 
app.use(flash()); 
 

 
// tell express where to look for static assets 
 
app.use(express.static(__dirname + '/public')); 
 

 
// set ejs as our templating engine 
 
app.set('view engine', 'ejs'); 
 
app.use(expressLayouts); 
 

 
// connect to our database 
 
mongoose.connect(process.env.DB_URI); 
 

 
// use body parser to grab info from a form 
 
app.use(bodyParser.urlencoded({ extended: true })); 
 
app.use(expressValidator()); 
 

 
// set the routes ============================= 
 
app.use(require('./app/routes')); 
 

 
// start our server =========================== 
 
app.listen(port,() => { 
 
    console.log(`App listening on http://localhost:${port}`); 
 
});

I Ich habe keine Ahnung, was passiert, vor allem, weil es bei localhost und Deployment gut funktioniert hat. Jede Hilfe wird geschätzt.

Antwort

0

Überprüfen Sie die Umgebungsvariable DB_URI, indem Sie heroku config aufrufen und sehen, was dafür aufgelistet ist. Der Fehler weist darauf hin, dass Ihre Verbindung abgelehnt wurde. Daher rate ich zu der Annahme, dass keine Mongo-Datenbank konfiguriert ist oder dass die Umgebungsvariable nicht im Kontext der heroku-App festgelegt ist.

0

Ich hatte genau das gleiche Problem. Ich war mit nicht Mongo db aber der Fehler war das gleiche:

2018-01-23T09:30:10.806568+00:00 heroku[web.1]: Process exited with status 1 
2018-01-23T09:30:10.823360+00:00 heroku[web.1]: State changed from starting to crashed 
2018-01-23T09:30:32.001596+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/".... 

Die App wurde perfekt auf localhost funktioniert aber stürzt ab, wenn auf Heroku im Einsatz. Heroku Website Logs Seite hat überhaupt nicht geholfen, also habe ich versucht lokal von der Befehlszeile: und viele Protokolle nicht auf der Website gezeigt kam heraus. Diese Protokolle sagte:

2018-01-23T09:30:09.431324+00:00 heroku[web.1]: Starting process with command `node server.js` 
2018-01-23T09:30:10.771449+00:00 app[web.1]: module.js:540 
2018-01-23T09:30:10.771465+00:00 app[web.1]:  throw err; 
2018-01-23T09:30:10.771466+00:00 app[web.1]: ^
2018-01-23T09:30:10.771468+00:00 app[web.1]: 
2018-01-23T09:30:10.771470+00:00 app[web.1]:  at Function.Module._resolveFilename (module.js:538:15) 
2018-01-23T09:30:10.771469+00:00 app[web.1]: Error: Cannot find module 'express' 

mir klar, ich hatte ausdrücklich zu installieren, so dass ich laufen:

npm install express 
git push heroku master 
heroku open 

und es funktionierte. Hoffentlich wird es auch für Sie arbeiten !!

Verwandte Themen