포트 3000에서만 작동하는 내 서버에서 실행되는 Node.js / Express.js 앱이 있는데 그 이유를 알아 내려고합니다. 내가 찾은 내용은 다음과 같습니다.
- 포트 (
app.listen()
)를 지정하지 않으면 앱이 실행되지만 웹 페이지가로드되지 않습니다. - 포트 3001 (
app.listen(3001)
) 또는 사용하지 않는 다른 포트에서 앱은 실행되지만 웹 페이지는로드되지 않습니다. - 포트 2999에서 다른 항목이 해당 포트를 사용하고 있기 때문에 앱에서 오류가 발생합니다.
- 포트 3000에서 앱이 실행되고 웹 페이지가 정상적으로로드됩니다.
Express 앱은 기본적으로 포트 3000이라는 것을 알고 있습니다.하지만 이상하게도 내 앱은 명시 적으로 포트 3000 ( app.listen(3000)
) 에서 실행될 때만 실행됩니다 .
다음의 220 행에서 이것을 찾았습니다 /usr/bin/express
.
app.set(\'port\', process.env.PORT || 3000);
이전에 언급 한대로 수행되는 작업 : 포트를 지정된 값으로 설정하거나 아무것도 지정하지 않은 경우 3000으로 설정합니다.
내 앱이 8080 또는 3001과 같은 다른 포트에서 작동하도록하려면 어떻게해야합니까?
감사!
편집 : 코드 샘플 (매우 간단한 노드 / 익스프레스 앱)
var express = require("express");
var app = express();
app.get('/', function(req, res){
res.send('hello world');
});
// Only works on 3000 regardless of what I set environment port to or how I set [value] in app.set('port', [value]).
app.listen(3000);
port
가 필요.listen()
하므로없이 시도하지 마십시오. 2) 응용 프로그램을 실행할 때 오류가 발생합니까? 아니면 브라우저에서 액세스 할 수없는 것처럼 보입니까? 3) 당신과 같은 시스템에서 웹 사이트에 액세스하려고localhost:3000
,localhost:3001
등? 두 대의 컴퓨터 (클라이언트 한 대와 서버 한 대)를 사용하는 경우 노드가 클라이언트로부터 요청을받을 수 있도록 서버의 방화벽에 예외를 추가해야합니다.