More

Tomcat 서버 시작 후 45초 타임아웃 에러 해결

Tomcat was unable to start within 45 seconds 에러

이클립스에 톰캣을 설치하고 사용 중 발생한 에러 메시지 입니다. 톰캣은 설치 후 계속 사용하던 것으로 몇 달을 써왔지만 이런 에러가 발생하지 않았었는데 최근 작업 중 갑자기 발생했습니다.

Server Tomcat v8.5.100 was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.


45초 타임 아웃 에러 해결

1. Overview에서 Timeouts Start 시간을 늘린다

많은 사람들이 해결책으로 적어 놓은 방법입니다. 이클립스에 설치 된 톰캣 서버를 더블 클릭 하면 나오는 Overview 페이지에서 Timeouts 부분에 있는 Start 시간을 늘려줍니다.

이 방법으로 해결되신 분들이 많은 것 같은데 제 경우에는 해당이 안되었습니다.

톰캣 서버 더블 클릭
사용 중인 톰캣을 더블 클릭해 오버뷰로 들어갑니다

Overview 페이지 Timeouts 시간 늘림
start 부분 시간을 45에서 90으로 변경해 봤지만 실패했습니다

이 에러가 골치 아픈 점은 콘솔에 정확히 어느 부분이 문제인지 안 나온다는 점입니다. web.xml 서블릿 매핑 문제 일수도 있고 다른 xml 파일의 설정 문제 일수도 있습니다.

콘솔 에러 없음
콘솔에 에러가 안 나온다는 게 참 곤란합니다

2. 기존 설정을 하나하나 제거한다

제가 문제를 해결한 방법입니다. 톰캣에 보안 적용을 위해 설정을 하나하나 추가하고 있었는데 이때부터 문제가 발생한 듯 하여 적용했던 설정을 하나 제거하고 톰캣을 리스타트 하는 방식으로 확인해봤습니다.

문제가 되었던 부분은 server.xml 파일에 있는 connector 부분이었습니다. https 설정에 사용하는 secure="true" 적용해봤는데 로컬 환경이라 https 적용이 안되었고 이 설정이 문제를 일으켜 계속 45초 타임 아웃 에러가 발생했습니다. 

server.xml 파일 설정 문제
문제가 되었던 secure 설정

웹에서 검색해보니 이 문제로 고생하는 사람들이 많던데 결론적으로 시간을 늘려도 해결이 안된다면 설정을 하나하나 살펴봐야 합니다.