Tomcat 7 에서 Tomcat 9 로 WAS버전 업데이트
너무 오래된 Tomcat 버전으로 서비스를 운영하고 있어서,
WAS성능 향상을 위해 부장님과 회의 끝에 Tomcat 7 -> Tomcat 9 버전으로 업데이트 하기로 하였다.
Tomcat 7 에서 Tomcat 9 로 버전 업데이트 시 발생한 이슈사항을 정리 하고자 한다.
1. Tomcat 7과 Tomcat 9의 Connector옵션의 maxPostSize 차이
Tocmat 7의 경우 maxPostSize의 MAX값은 '0'
Tomcat 9의 경우 maxPostSize의 MAX값은 '-1'
Tomcat 7의 옵션을 그대로 가져왔더니 발생한 이슈였다.
post로 전송되는 패킷의 크기가 '0'으로 세팅되어서 패킷 사이즈 오류가 발생하였다.
구글링 해보니 Tomcat 8버전 부터 maxPostSize의 MAX값은 '-1'로 수정되었다고 한다.
2. Connector 옵션의 packetSize 차이
Tomcat 7의 AJP Connector 옵션의 packetSize가 '65536'으로 MAX값으로 세팅 되어 있었고
이를 Tomcat 9의 Connector 옵션에도 packetSize를 동일하게 적용하였더니,
계속해서 502 Bad GateWay 오류가 발생하였다.
왜 오류가 날 까 확인해보니....(원인을 찾는데 상당한 시간이 소요되었다)
Apache 웹 서버의 workers.proprerties 파일의 worker.template.max_packet_size=65536 가 아래와 같이 주석처리가 되어 있었다. (Tomcat 7에서는 해당 부분을 무시하는 듯 하다)
cat workers.properties
#worker.template.max_packet_size=65536
해당 내용을 주석 해제 후 packetSize를 설정해주니 정상적으로 동작하였다.
=> apache>workers.properties>worker.template.max_packet_size와 tomcat>server.sml>connector(AJP)의 packetSize 속성 값은 반드시 동일해야 한다.!
만약 packetSize를 설정해주지 않을 경우 default 값인 8192로 동작하며
request 값의 패킷 사이즈가 8192가 넘어갈 경우 패킷 사이즈 오류가 발생한다.
따라서 packetSize 값을 Apache의 workers.properties와 Tomcat의 server.xml파일에
packetSize를 MAX 값으로 설정해주어야 한다.
3. JDK 버전 차이
Tomcat 9 는 JDK 1.8 이후 버전을 지원한다.
따라서 현재 서비스 되는 JDK의 버전을 1.6 -> 1.8로 업데이트 하였다.
그 외에는 특이사항 없이 WEB/WAS AJP설정, 도메인 별 Tomcat 인스턴스 추가 설정 등을 완료하였다.
※ 참고 URL
https://tomcat.apache.org/tomcat-9.0-doc/config/ajp.html
https://tomcat.apache.org/tomcat-9.0-doc/config/http.html
'Linux' 카테고리의 다른 글
Tomcat 7 에서 Tomcat 9 로 WAS 업데이트 하는 이유? APR 라이브러리!! (0) | 2019.09.17 |
---|---|
Apache(웹서버) & Tomcat(WAS) 설치 및 연동 (0) | 2019.07.07 |
Cent OS 7 설치 및 기본세팅 (0) | 2019.07.07 |
포트번호로 프로세스 찾기(WAS 포트 겹칠 때) (0) | 2019.02.22 |
crontab 설정 (0) | 2019.02.22 |