'해당 포트가 사용중이라 띄울 수가 없다?' → 프로세스 종료하기 중요
실습1
const http = require("http");
http
.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
res.write("<h1>Hello Node!</h1>");
res.end("<p>Hello Server!</p>");
})
.listen(8080, () => {
console.log("8080번 포트에서 서버 대기중입니다!");
});
http://localhost:8080 접속하면

실습2
const http = require("http");
http
.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
res.write("<h1>Hello Node 8080</h1>");
res.end("<p>Hello Server!</p>");
})
.listen(8080, () => {
console.log("8080번 포트에서 서버 대기중입니다!");
});
http
.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
res.write("<h1>Hello Node 8081</h1>");
res.end("<p>Hello Server!</p>");
})
.listen(8081, () => {
console.log("8081번 포트에서 서버 대기중입니다!");
});
1️⃣ 처음 코드 실행시 EARRINUSE 오류 발생
C:\hancom_nodejs>node ex.js
node:events:496
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::8080
2️⃣ 8080 포트 닫으려고 했는데 맥 명령어 입력해서 못알아먹음
C:\hancom_nodejs>lsof -i :8080
'lsof'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.
3️⃣ 내 프로세스 번호 찾으려고 제대로 된 명령어로 검색
C:\hancom_nodejs>netstat -ano | findstr :8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5584
TCP [::]:8080 [::]:0 LISTENING 5584
4️⃣ 포트번호 입력해서 오류 ㅋ
C:\hancom_nodejs>taskkill /PID 8080 /F
오류: 프로세스 "8080"을(를) 찾을 수 없습니다.
5️⃣ 드디어 포트(프로세스) 종료
C:\hancom_nodejs>taskkill /PID 5584 /F
성공: 프로세스(PID 5584)가 종료되었습니다.
6️⃣ 코드 실행 성공
C:\hancom_nodejs>node ex.js
8080번 포트에서 서버 대기중입니다!
8081번 포트에서 서버 대기중입니다!
실습3
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.write('<h1>Hello World</h1>');
res.end('<p>Hello Server</p>');
})
.listen(8080, () => {
console.log('8080번 포트에서 서버 대기중입니다!');
});
const server2 = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.write('<h1>Hello World3000</h1>');
res.end('<p>Hello Server</p>');
})
.listen(3000, () => {
console.log('3000번 포트에서 서버 대기중입니다!');
});
- 생성된 서버 객체를 변수에 담아서 재사용할 수 있어. (예: server.close() 같은 메서드를 사용할 수 있음)
- server, server2처럼 별도의 변수에 각각 http.createServer()를 할당하고, .listen()을 호출하는 방식
- 객체 지향적인 방식.
과제
내 RDS랑 연동되는 메모 프로그램 만들어서 내 EC2에 배포하기
문제 1) EC2상에 Node.js를 설치하지 않아서 헤맸음
문제 2) 강사님의 코드 살짝 변형만 했는데 axios를 쓰는지 몰랐고, 이에 필요한 패키지를 EC2 폴더에 설치하지 않아서 헤맸음
문제 3) ctrl+c가 프로그램 종료인지 몰라서 계속 코드 복붙할 때 쓰다가 서버 종료해버림

'HANCOM AI ACAMEMY > 수업 및 플젝' 카테고리의 다른 글
| 헷갈려서 정리하는 pandas (1) (0) | 2025.04.16 |
|---|---|
| Python : 4월 10일 (0) | 2025.04.10 |
| Node.js : 3월 31일 (0) | 2025.03.31 |
| SQL : 3월 24일 (0) | 2025.03.24 |
| SQL : 3월 21일 (0) | 2025.03.21 |
댓글