반응형
서버 실행에 따른 오류
다음 이미지는 서버를 다시 시작하려고 할 때 포트 3000이 이미 사용 중이라는 오류가 발생한 경우입니다. 이 오류는 EADDRINUSE
오류 코드로 나타납니다.
이 문제를 해결하려면 다음 단계를 따라 실행 중인 프로세스를 종료하거나 다른 포트를 사용하도록 서버를 설정해야 합니다.
1. 현재 사용 중인 포트 확인 및 프로세스 종료
먼저, 포트 3000을 사용 중인 프로세스를 찾아 종료합니다.
Windows에서 포트 사용 중인 프로세스 찾기 및 종료
- 명령 프롬프트(CMD)나 PowerShell을 열고 다음 명령을 실행하여 포트 3000을 사용 중인 프로세스를 찾습니다.
netstat -ano | findstr :3000
- 결과로 나타나는 PID (프로세스 ID)를 확인합니다. 예를 들어,
56416
라는 PID가 나타났다면, 이를 종료합니다. - 다음 명령을 실행하여 해당 PID의 프로세스를 종료합니다.
taskkill /PID 56416 /F
Linux/Mac에서 포트 사용 중인 프로세스 찾기 및 종료
- 터미널을 열고 다음 명령을 실행하여 포트 3000을 사용 중인 프로세스를 찾습니다.
lsof -i :3000
- 결과로 나타나는 PID를 확인합니다. 예를 들어,
1234
라는 PID가 나타났다면, 이를 종료합니다. - 다음 명령을 실행하여 해당 PID의 프로세스를 종료합니다.
kill -9 1234
2. 서버 코드에서 다른 포트 사용
포트를 변경하여 서버를 실행할 수도 있습니다. 예를 들어, 포트 3001을 사용하도록 설정할 수 있습니다.
// 필요한 모듈을 가져옵니다.
const http = require('http');
// 서버를 생성합니다.
const server = http.createServer((req, res) => {
// 응답 헤더 설정
res.writeHead(200, { 'Content-Type': 'text/html' });
// 응답 본문 작성
res.end('<h1>Hello, World!</h1>\n');
});
// 서버를 특정 포트에서 대기시킵니다.
const PORT = 3001; // 여기서 포트를 변경합니다.
server.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
이제 변경된 포트로 서버를 실행하면 됩니다.
요약
- 포트 3000을 사용 중인 프로세스를 찾아 종료합니다.
- 또는 서버 코드에서 다른 포트를 사용하도록 변경합니다.
- 서버를 다시 실행합니다.
이 과정을 통해 포트 충돌 문제를 해결하고 서버를 정상적으로 다시 실행할 수 있습니다.
반응형
'온라인 멘토와 함께하는 공부 > JS' 카테고리의 다른 글
[NodeJS] Node.js가 동작하는 방식 (1) | 2024.05.27 |
---|---|
[NodeJS] 학습자에게 소개하는 http.createSever 함수 (36) | 2024.05.26 |
[NodeJS] GET 요청에 따라 다른 응답을 주는 기능 추가 (42) | 2024.05.24 |
[NodeJS] '서버로서 NodeJS' 형성평가 답안 (42) | 2024.05.23 |
[NodeJS] 서버로서 NodeJS (35) | 2024.05.23 |