我一直在本地开发一个网站。使用Ubuntu,nodejs和express。我最近把它移到Dreamhost上的VPS上,它有一些奇怪的行为。在我的本地主机上一切正常,但在VPS上只有一些路由有效。我的意思是,如果我去mydomain.com
那么我就会得到这个网站。然后,如果我去mydomain.com/panel
它加载,它应该检查用户会话但不会,它只是将它们发送到面板。然后,如果我尝试转到mydomain.com/contact
或我网站上的任何其他路线,它就不会加载。我收到500错误。
这是我的panel
路线,可在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'));
});
这是我的contact
路线,可在routes/contact.js
router.get('/', function(req, res) {
res.send("Hello");
});
在app.js
我添加这两条路线,
app.use('/contact', contact);
app.use('/panel', panel);
这一切都适用于我的localhost。所有正确的模块都存在。由于某种原因,它不适用于Dreamhost VPS。
有什么想法吗?
答案 0 :(得分:1)
对于任何在使用Dreamhost VPS时遇到这种情况的人。我遇到的问题是我忘了设置代理服务器并在正确的端口上运行nodejs。不知何故,Dreamhost在我的公共文件夹中渲染文件,但实际上并没有使用nodejs来完成它。只需通过创建代理服务器到端口8000然后在端口8000上运行nodejs来解决它。