GCP의 VM을 사용하면서 Springboot 서버를 올려두고 사용하고 있었는데 새로운걸 만들어 다시 올리니 저런 에러가 떴다.

8080포트를 이미 사용하고 있는 상태에서 다시 8080포트를 사용하려고 하니 생긴 문제 같다. 결국 인터넷을 찾아보았고 내가 생각하던 것이 맞았다.

원인

서버를 구동하려고 할 때 서버가 사용하려는 port를 다른 process 혹은 program이 이미 점유하고 있는 경우 서버를 정상적이지 않은 방법으로 종료하거나 종료된 경우에 서버가 종료된 것 처럼 보이나 실제로는 종료되지 않아 빈번하게 발생할 수 있는 문제이기도 하다.

해결방법

Port를 점유하고 있는 process를 강제종료 하거나 사용하려는 port를 변경하는 방법이 있다.

Process를 강제종료 하는 경우

MAC

ps -ef | grep tomcat //현재 사용중인 tomcat process 출력
kill  -9  “p_id” //process id 입력하여 강제 종료

Linux

netstat  -lnp | grep 8080 or ps -ef | grep tomcat
kill -9 "p_id"

CentOS

sudo ss -lptn  'sport = :8080'
sudo kill "p_id"

이렇게 명령어 입력 후 서버를 다시 돌려보면 정상적으로 잘 작동한다.(재부팅 한번 해주면 더 좋고..)