2017-03-13 12 views
0

저는 현재 로컬에서 잠시 동안 웹 사이트를 개발했습니다. 우분투, 노드 및 익스프레스 사용하기. 나는 최근에 그것을 Dreamhost의 VPS로 옮겼습니다. 그리고 그것은 이상한 행동을합니다. 모든 것이 내 로컬 호스트에서 제대로 작동했지만 VPS에서는 일부 라우트 만 작동합니다. 이것에 의하여 나는 나가 mydomain.com에가는 경우에 나는 웹 사이트를 얻는다는 것을 의미한다. 그런 다음 mydomain.com/panel으로 이동하면로드되지만 사용자 세션을 확인해야하지만 패널로 전송하지는 않습니다. 그런 다음 mydomain.com/contact 또는 내 웹 사이트의 다른 경로로 이동하려고하면로드되지 않습니다. 500 오류가 발생합니다.일부 라우트 만 노드 익스프레스에서 작동합니다.

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')); 
}); 

app.js에서 routes/contact.js

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

에서 발견되는 내 contact 경로입니다에서 발견되는 내 panel 경로이며,이 같은 노선을 모두 추가 ,

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

이 모든 것이 내 localhost에서 작동합니다. 모든 올바른 모듈이 있습니다. 어떤 이유로 Dreamhost VPS에서 작동하지 않습니다.

아이디어가 있으십니까?

답변

1

Dreamhost VPS로 작업하면서이 문제를 겪는 사람에게 적합합니다. 문제는 프록시 서버를 설정하고 올바른 포트에서 nodejs를 실행하는 것을 잊었습니다. 어떻게 든 DreamHost는 내 공용 폴더의 파일을 렌더링하고 있지만 nodej를 실제로 사용하지는 않았습니다. 포트 8000에 프록시 서버를 만든 다음 포트 8000에서 nodej를 실행하여 간단하게 해결했습니다.