Apache Tomcat 을 윈도우 환경에서 설치 및 사용시 처음에는 문제가 없다가 어플리케이션이 점점 커지고 윈도우의 리소스를 많이 사용하게 되면 톰캣 서비스 구동이 안되서 문제가 발생하는 경우가 종종 발생한다.
Tomcat\bin\startup.bat 실행으로 웹어플리케이션이 구동되면 사용에는 문제없지만 서비스 방식이 아니면 콘솔창이 계속 표시될 수 있고 관리자가 콘솔창을 닫게 되면 웹어플리케이션이 내려가게 되어 장애가 발생될 수 있다.
catalina.log, localhost.log, common-daemon.log 에 에러메세지가 표시되어 해결되면 다행이지만 로그가 기록이 안되는 경우이면 원인파악이 쉽지 않다.
환경정보
- Window Server 2012 R2
- JDK 11
- Apache Tomcat 8.5
원인파악
윈도우 서비스 구동시 에러가 발생하기때문에 윈도우 로그를 확인
윈도우 우클릭 > Computer Management
Computer Management > System Tools > Event Viewer > Windows Logs > System 에서 Tomcat 8.5 서비스관련 Event ID : 7000, 7030 에러가 발생하고 있는 것을 확인
Event ID - 7000 : The Apache Tomcat 8.5 service failed to start due to the following error: The system cannot find the file specified.
Event ID - 7030 : The Apache Tomcat 8.5 service is marked as an interactive service. However, the system is configured to not allow interactive services. This service may not function properly.
장애원인
Event ID 7000 은 윈도우 서비스 시작이 오래걸리면 표시되는 ID이다. (서비스 시작시간 제한에 관련된 이슈)
톰캣에서 웹어플리케이션을 WAR로 배포할시 WAR파일용량이 크면 압축해제만 해도 시간이 많이 걸리거나 OS가 리소스를 사용하여 서비스 구동이 오래걸리면 발생하는 문제인 것 같다.(그래서 처음에는 장애가 발생되지 않다가 어플리케이션이 점점 커지면 발생하는 것을 많이 겪었다.)
해결방법
이미 MS에서는 문제를 파악하였고 "시간제한 오류로 인해 느린 서비스가 시작되지 않는 문제"로 해결방법이 존재하는 것을 확인
Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 - 모든 버전에서 발생하는 문제이며 서비스 시작 제한시간을 레지스트리를 편집 또는 추가하여 해결하면 된다. 하지만 OS 재기동이 필요하다.
1. 윈도우 실행 > regedit > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control 으로 이동 후 새로만들기, DWORD값
2. ServicesPipeTimeout 항목, 10진수 선택 후 값을 60000 입력 후 확인
3. OS 재기동를 하면 해결된다.
'개발' 카테고리의 다른 글
[AspNetCore] HTTP Error 404.15 - Not Found 에러발생 (0) | 2022.06.17 |
---|---|
Visual Studio 2022 Community(17.2) 설치방법(윈도우11) (2) | 2022.05.31 |
아파치 톰캣(Apache Tomcat) 9.0.62 다운로드 및 설치방법(윈도우11) (2) | 2022.04.04 |
[젠킨스] 윈도우 10 환경에서 접속포트 변경하는 방법 (0) | 2022.02.11 |
mvn package 실행시 Source option 5 is no longer supported. Use 6 or later. 에러발생 (0) | 2022.01.07 |