[Tomcat] 아파치 톰캣(Apache Tomcat) Several ports (8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. 오류 해결 총 정리
오류 내용
Several ports (8080, 8009) required by Tomcat v8.5 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).
주요 원인
원인 01 : 톰캣이 실행하려고 할 때 이를 무시하고, 다시 Run (톰캣 재시작)을 눌렀을 때
자세한 원인 : 톰캣을 실행 하려고 준비 중이었는데 무시하고 바로 또 Run를 할 경우 포트가 제대로 꺼지지 않았기 때문에 오류가 뜬다.
원래는 톰캣 실행이 다 끝나고 또 실행하면 겹치지않고 기존에 톰캣이 종료되고 새 프로세스를 가진 톰캣이 시작되는 게 정상이다.
원인 02 : 또 다른 프로그램이 8080 or 8009 등 톰캣에 필요한 포트를 점유하고 있기 때문입니다.
원인 03 : 이클립스(혹은 다른 IDE) 프로그램 강제종료 후 톰캣 재실행했을 때 좀비 프로세스가 남아있는 경우.
해결 (윈도우(Windows GUI))
GUI (Graphical User Interface)로 해당 프로세스 끄기
작업 관리자 창 실행
0.Windows 키 + R → 실행창에 taskmgr
javaw.exe 프로세스 종료
1. 작업 관리자 → 세부 정보 → javaw.exe 작업 끝내기(강제 종료)
해결 (윈도우(Windows CLI))
CLI (Command Line Interface)로 해당 프로세스 끄기
명령 프롬프트 실행
0.Windows 키 + R → 실행창에 cmd
포트 찾기 명령어
특정 포트가 열려 있는지 확인
1.netstat -na | findstr 8009
열려 있는 포트의 PID 확인
2.netstat -nao | findstr 8009
PID(Process IDentifier) 찾기
3.tasklist |findstr "PID"
PID 프로세스 종료 (죽이기)
4.taskkill /f /pid "PID"
★ 참고 : "PID" 부분에 PID를 적으시고 명령어를 실행하면 됩니다. PID는 계속 변경됩니다.
해결 (리눅스(linux))
리눅스 (linux) 해당 프로세스 끄기
열려있는 포트 확인
1.netstat -tnlp
특정 포트(8080) 상태 확인
2.netstat -nap | grep 8080
특정 포트(8080) 종료
3.fuser -k -n tcp 8080
※ 주의 : 리눅스는 윈도우랑 다르게 PID가 아닌 port로 명령어를 실행합니다.
'Tomcat' 카테고리의 다른 글
[Tomcat] JNDI(Java Naming and Directory Interface) 설정 총 정리 (1) | 2020.04.19 |
---|