Web server failed to start. Port 8080 was already in use. ( Spring Boot )  
🌜 Programming/Spring Boot

Web server failed to start. Port 8080 was already in use. ( Spring Boot )  

728x90

안녕하세요. 그린주입니다 ๑'ٮ'๑

오늘도 힘차게 시작해보겠습니다!

 

개요

이번 글에서는 port 8080 was already in use. 해결방법을 공유하고자 합니다.


목차

문제 상황

문제 확인

문제 해결


문제 상황

1. 포트가 이미 실행 중인데 스프링에서 같은 포트로 Run 하게 될 경우

***************************
APPLICATION FAILED TO START
***************************

Description:

Web server failed to start. Port 8080 was already in use.

Action: ...

 

2. 비정상적인 was 종료 후 재시작할 경우

'Starting Tomcat v7.0 Server at localhost' has encountered a problem 

Several ports (8005, 8080, 8009) required by Tomcat v7.0 
Server at localhost are already in use. 
The server may already be running in another process, or a system process may be using the port.
To start this server you will need to stop the other process or change the port number(s).

문제 확인

두 상황 모두 해당 포트가 이미 사용 중이기 때문이다.


문제 해결

cmd창(실행(윈도우+R)에서 cmd 실행)에서 포트를 사용하고 있는 pid를 확인하여 강제 종료시켜줍니다.

 

1. pid를 확인합니다.

netstat -anop [proto]
// 예시
netstat -anop tcp

  netstat

 

TCP/IP 네트워크 연결 상태 확인 명령어

 

 

  -a -n -o -p [proto]

 

-a : 모든 연결 및 수신 대기 포트를 표시

-n : 주소 및 포트 번호를 숫자 형식으로 표시

-o : 각 연결의 소유자 프로세스 ID 표시

-p [proto] : proto로 지정한 프로토콜의 연결 표시

 

8080 포트를 사용 중인 pid는 16780으로 확인됩니다.

 


2. 해당 프로세스를 종료합니다. 

taskkill /f /pid [pid번호]

// 예시
taskkill /f /pid 16780

  taskkill

 

프로세스 강제 종료 명령어

 

 

  /f /pid [pid번호]

 

/f : 강제 종료

/pid [pid번호] : 프로세스 [pid번호]값을 사용하여 종료

 


3. 포트가 종료되었는지 확인합니다.

netstat -anop [proto]
// 예시
netstat -anop tcp

 

잘 종료된 것을 확인할 수 있습니다. 이제 Run 하거나 was를 시작하면 에러가 발생하지 않습니다.


마무리

이렇게 port 8080 was already in use. 해결방법에 대해 적어보았습니다.
다들 성공하셨을까요?? 끝까지 파이팅입니다!

 

긴 글 봐주셔서 감사합니다!
오늘도 행복한 하루 보내세요 '◡'✿


728x90
728x90