2016-11-25 3 views
0

노드 서버 파일 app.jsexpress을 사용하고 있습니다. 나는 그것을 실행 내 터미널에서 $ node app.js를 실행하고 내 컴퓨터에 localhost:3000로 이동하면 내가 Hello World!를 참조하면노드 응용 프로그램을 서버로 전송

파일이

var express = require('express') 
var app = express(); 
app.use(express.static(__dirname + '/public')) 

app.get('/', function (req, res) { 
    res.send('Hello World!') 
}) 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!') 
}); 

것 같습니다.

파일을 서버에 업로드하고 public 폴더에있는 index.html 파일을 탐색하려고 시도했지만 작동하지 않습니다.

어쩌면 많은 단계가 누락되었지만 아무도 내 서버에서 node 앱을 시작하는 방법을 조언 할 수 있습니까?

+0

서버의 터미널/콘솔에 액세스 할 수 있습니까? – DevDig

+0

@DevDig 서버에있는 콘솔에 액세스 할 수 있습니까? –

답변

0

서버에서 nodejs가 올바르게 구성 되었습니까?

나는 nodejs와 함께 forever을 사용합니다. 이것은 리눅스베이스 시스템에서 nodejs를 서비스처럼 사용하고 싶을 때 유용합니다.

+0

"구성됨"이라고 말하면 정확히 수행해야 할 사항은 무엇입니까? 서버에 노드를 설치하기 만하면됩니까? –

+0

nginx를 사용하는 경우 방화벽 규칙이 올바른지 nodejs 독립 실행 형 확인을 사용하는 경우 포트 3000에 대한 프록시를 만들어야합니다. –

1

서버에서 index.html을 보내지 않습니다. 텍스트 "Hello World!"를 보내어 "/"경로 만 제공합니다.

Node.js를 사용하면 각 경로에 보낼 콘텐츠를 지정해야합니다.

당신은 단순히 특정 파일을 보낼 수 있습니다 (확인을하지만, 더러운)

app.get('/index.html', function (req, res) { 
    res.send(PATH_TO_FILE/index.html); 
}); 

을 또는 기본적으로 파일을 제공하는 데 사용할 경로 지정

app.use(express.static(__dirname + '/public'));

그리고 당신은 모든 넣어 공용 폴더에서 자동으로 제공 할 공개 파일 :

YOUR_PROJECT/public/AUTOMATICALLY_SERVED_FILES 

예 : AUTOMATICALLY_SERVED_FILESindex.html 또는 css/style.css 일 수 있습니다.

NB : NGINX는 현재 유용하지 않습니다.

+0

저는 실제로 dirname 등을 설정했습니다. 저는 질문을 업데이트했습니다. 여전히 파일을 제공하지 않습니다. 귀하의 회신에 감사드립니다.나는 federico lucca가 제시 한 가이드 라인을 따라야한다고 생각합니다. –

관련 문제