[오류]Tomcat 실행 오류

Inung_92·2023년 1월 19일
1

오류

목록 보기
2/6
post-thumbnail

상황 설명

개발환경 및 사용툴은 다음과 같다.

MacOs / 이클립스 / Tomcat 9.0 / maven project

새로운 실습과제로 웹 프로젝트를 진행하면서 서버 실행 간 다음과 같은 오류가 발생했다.

🚨'Tomcat ~~ already in use' 라는 메세지가 콘솔에 출력

이클립스로 이전 프로젝트와 서버의 연결을 해제하고 새로운 프로젝트를 등록해준 뒤 발생한 오류였다. 아무리 이클립스로 서버를 재가동해보고 server.xml을 둘러보아도 이상이 없었다. 즉, 프로젝트를 그냥 해제하고 새로 연결해준 것 뿐인데 서버가 계속 사용중이라는 오류가 뜨는 것이다.


원인

오류 메세지를 자세히보니 'already in use'가 눈에 띄었다. 그래서 포트 번호를 확인해보니 Tomcat에 설정한 포트 번호는 8888이며, 해당 포트를 검색하니 아무런 반응이 없는 것이다.

위 그림처럼 내가 실습에 사용하는 포트는 8888인데 바로 위에 admin port가 눈에 띄는 것이다. 그래서 admin port가 사용중인지 확인했다.

터미널에 너무도 명확하게 admin port가 사용중인 것을 확인했다. 범인은 이 녀석이었다. 내 소중한 시간을 뺏어간 이 녀석을 닫아주기 위해 방법을 찾아보았다.


해결

sudo lsof -i :찾을포트 번호

먼저 터미널을 실행시켜준 뒤 위와 같이 입력하고 검색을 하면 비밀번호를 치면된다. 이때 'sudo' 명령문을 사용할 경우 Mac부팅 시 로그인을 입력하면 된다.

해당 포트가 사용중인 경우 위와 같이 출력이 된다. 이때 'PID'를 주목해주자. 포트의 사용결과를 확인했으니 해당 포트를 강제로 닫아주기 위하여 다음과 같이 입력하자.

sudo kill -9 PID번호

에러가 발생하지 않으면 정상적으로 포트가 닫힌 것이다. 그 후에 다시 톰캣을 가동하면 정상적으로 작동이 가능하다.


마무리

서버 관련된 오류는 초보자인 내 입장에서는 해결이 너무 어렵다. 그래서 더 많은 검색을 해야한다. 오늘 오류는 내가 사용하는 포트번호에서만 찾으려고했다면 더 오랜 시간이 걸렸을 것이다. 예상되는 원인을 분석해서 접근하는 것이 오류 해결에서 가장 중요한 부분인 것 같다. 오늘도 무사히 하루를 넘겼다.

profile
서핑하는 개발자🏄🏽

0개의 댓글