[트러블 슈팅][Node.js]ECONNREFUSED 에러

Young Min Kang·2024년 5월 30일

트러블 슈팅

목록 보기
2/5
post-thumbnail

ECONNREFUSED 에러

다음은 app.js를 작성하다가 생긴 오류이다.
따로 콘솔에 에러가 뜨진 않았지만 로컬 포트로 접속이 안되는 상황이 벌어졌다.

문제😲


위 사진과 같이 분명 서버를 실행 중임에도 에러가 뜨는 상황이다.

해결🚀

이유는 코드에서 찾아볼 수 있었다.

//기존 app.js 코드
// express 모듈
const express = require('express');
const app = express();
app.listen(process.env.PORT, () => {
    console.log(`Server is running on port ${process.env.PORT}`);
});
// dotenv 모듈
const dotenv = require('dotenv');
dotenv.config();

const userRouter = require('./routes/users');

app.use(express.json());
app.use('/users', userRouter);

주요 문제는 dotenv.config()가 서버가 시작되기 전에 호출되지 않는다는 것이였다. 이로 인해 process.env.PORT 값이 제대로 설정되지 않는 상태였다.

최종✔️

// app.js

// express 모듈
const express = require('express');
const app = express();
// dotenv 모듈
const dotenv = require('dotenv');
dotenv.config();

const userRouter = require('./routes/users');

app.use('/users', userRouter);

app.listen(process.env.PORT, () => {
    console.log(`Server is running on port ${process.env.PORT}`);
});

아무튼 네트워크 요청이 거부되었음을 나타내는 에러 메시지다. 주로 서버 측에서 클라이언트의 연결 요청 거부시 발생되며 두 가지를 중점적으로 확인해보자

  1. 지정 포트가 열려 있는가?
  2. 서버가 구동 중인가?

하하 주로 포트번호가 적용 됐는지 잘 확인만 해줘도 쉽게 해결 가능한 에러이다.
listen 을 가장 하단에 오는 것이 오류를 줄이게 할 수 있지 않을까?

profile
꾸준히 한걸음씩

0개의 댓글