2017-03-13 2 views
0

Ich habe eine Website für eine Weile jetzt lokal entwickelt. Ubuntu, nodejs und express verwenden. Ich habe es kürzlich zu meinem VPS auf Dreamhost verschoben und es hat ein seltsames Verhalten. Bei meinem localhost funktionierte alles gut, aber auf dem VPS funktionieren nur einige Routen. Damit meine ich, wenn ich zu mydomain.com gehe dann bekomme ich die Website. Wenn ich dann zu mydomain.com/panel gehe, lädt es, es soll jedoch nach einer Benutzersitzung suchen, tut es aber nicht, es sendet sie nur an das Panel. Wenn ich dann versuche, auf mydomain.com/contact oder eine andere Route auf meiner Website zu gehen, wird es einfach nicht geladen. Ich bekomme einen 500 Fehler.Nur einige Routen funktionieren auf Node Express

Das ist mein panel Route, die in routes/panel.js

router.get('/', function(req, res, next) { 
    var sess = req.session; 
    if(sess.user) res.status(200).sendFile(path.resolve(__dirname + '/../public/panel.html')); 
    else res.status(200).sendFile(path.resolve(__dirname + '/../public/admin.html')); 
}); 

Das ist mein contact Route gefunden wird, die in routes/contact.js

router.get('/', function(req, res) { 
    res.send("Hello"); 
}); 

In app.js gefunden füge ich diese beiden Routen wie diese ,

app.use('/contact', contact); 
app.use('/panel', panel); 

Das funktioniert alles auf meinem localhost. Alle richtigen Module sind vorhanden. Aus irgendeinem Grund funktioniert es nicht auf dem Dreamhost VPS.

Irgendwelche Ideen?

Antwort

1

Für jeden, der bei der Arbeit mit Dreamhost VPS darüber stolpert. Das Problem, das ich hatte, ist, dass ich vergaß, einen Proxy-Server einzurichten und nodejs auf dem richtigen Port auszuführen. Irgendwie hat Dreamhost die Dateien in meinem öffentlichen Ordner gerendert, aber nicht mit nodejs. Es wurde einfach gelöst, indem ein Proxy-Server für Port 8000 erstellt wurde und dann nodejs an Port 8000 ausgeführt wurde.