2016-06-19 7 views
-1

내 기본 URL 경로 (example.com)에서 내 노드 응용 프로그램에 액세스하려고하므로 청취 포트를 내 app.js 파일에서 80으로 설정하고 express j를 사용하십시오.노드 js 서버에서 웹 사이트 실행

아래는 나의 app.js 파일입니다. 제공 : node static site tutorial.

var express = require('express'); 
var path = require('path'); 
var app = express(); 

// Define the port to run on 
app.set('port', 80); 

app.use(express.static(path.join(__dirname, 'public'))); 

// Listen for requests 
var server = app.listen(app.get('port'), function() { 
    var port = server.address().port; 
    console.log('Magic happens on port ' + port); 
}); 

나는 node app.js 내 서버를 시작하고 의도 한대로 내 콘텐츠에 액세스 할 수 있습니다 -하지만 곧 내 연결이 종료 될 때, 내 사이트에 액세스 할 수 없습니다. 이것은 LAMP가 아닌 솔루션으로 실험 한 첫 번째 사례입니다.

웹 사이트를 서비스하기 위해 클라우드에서 노드 서버를 계속 실행하려면 어떻게해야합니까? 이것이 우리가 "노드를 프로덕션으로 배포하는 것"입니까?

이것은 정적 HTML/js 파일이있는 개인 사이트입니다. 당신이 연결을 닫을 때

답변

1

, 당신은 쉘 세션은 당신이 노드를 시작 닫으 .

당신이 리눅스에서 실행되기 때문에, 간단한 방법은 배경 node app.js &

에서 그것을 실행하는 것입니다 또는 당신은 를 설치할 수 있습니다 & 실행중인 터미널에 대한 화면은 현재 세션에서 분리 할 수 ​​있습니다. http://www.thegeekstuff.com/2010/07/screen-command-examples/

또한 코드에서 처리되지 않은 오류가 발생하는 경우 서버 프로그램이 중단 될 수 있습니다. 서버를 계속 실행하려면 크래시 할 때 &을 다시 시작하거나 nodemon 또는 forever을 사용하십시오.

+0

정말 대단합니다 - 나는 단순함을 위해 첫 번째 옵션을 선택했습니다. 그리고 이것은 정상입니까? VPS에 노드 서버를 무기한으로 두어 일반인에게 간단한 포트폴리오 사이트를 제공하는 것에 대해 너무 안전하지 않은 것은 무엇입니까? – bruh

+1

실제로는 정적 파일을 제공하고 있지만 첫 번째 옵션은 충돌이 발생하기 쉽고 자동으로 다시 시작되지 않는다고 말한 것입니다. – loxxy

관련 문제