본문 바로가기

에러 해결/Server

[tomcat] IntelliJ 톰캣 연동시 Address localhost:8080 is already in use 에러

인텔리제이를 이용해 프로젝트를 로컬에 세팅하려고 톰캣 서버를 올리고 HTTPs port를 8443으로 설정했는데, Address localhost:8080 is already in use 에러가 발생했다. 8080에 연결하라고 한 적이 없는데 왜 8080이 이미 사용 중이라는 걸까? server.xml 을 열어보자.

server.xml 을 확인해보니 HTTP를 만드는 부분은 주석처리가 돼있고 HTTPS로 만드는 부분만 활성화가 돼있었다.

Connector executor port (8080, HTTP) -> redirectPort (8443, HTTPS) -> Connector port (8443, HTTPS) 의 과정으로 읽는 것 같은데, 가장 앞단인 HTTP 부분이 주석처리 돼있으니 tomcat의 기본 포트인 8080로 http가 연결됐다.

 

그래서 지금 PC에서 어떤 프로그램이 포트 8080을 사용하고 있는지 알아봤다.

* 사용 중인 port 탐색 cmd 명령어: netstat -ano

8080 포트의 PID가 3440인 것을 확인하고 작업관리자에서 PID가 3440인 것을 찾아보니 TNSLSNR.exe 이라는 프로그램이었다. 이 프로그램의 속성을 보니 Oracle 구동시 사용되는 프로그램인 것을 알 수 있었다.

 

TNSLSNR.exe 위치 -> C:\oraclexe\app\oracle\product\11.2.0\server\bin

 

* 결론: 오라클을 삭제할 것이 아니라면 로컬에 세팅하려는 프로젝트의 포트 번호를 8090 등의 다른 번호로 변경해야한다. 위와 같이 HTTP Connector port 부분의 주석 처리를 없애고 포트 번호를 8090으로 바꾸면 https://localhost:8443이 정상 구동된다.