톰켓 연동

웹서비스를 위하여 아파치와 was 인 톰켓을 연동하여 운영 환경을 설정 하는 방법에 대해서 알아 보도록 하겠습니다.

연동이란

웹서버를 운영함에 있어서 정적 데이터와 동적 데이터를 분리하여 서버의 전체적인 부하를 분산하고 속도를 빠르게 하기 위해 연동을 해서 사용하는 것이다.

즉, 각각 사용목적에 따라 용도가 다르다.

HTML파일이나 이미지와 같은 정적 콘텐츠들은 WAS까지 거칠필요 없이 웹서버만 통해서 바로 처리/응답 하는 것이 빠르다.

웹서버와 와스를 연동하여 각각의 역할 분담을 시켜, 요청에 대한 응답을 빠르고 효율적으로 처리하게 되는 것이다.

연동 동작 플로우

  1. 아파치 웹서버의 httpd.conf에 톰캣 연동을 위한 설정을 추가하고 톰캣에서 처리할 요청을 지정한다.

  2. 사용자의 브라우저는 아파치 웹서버에 접속하여 요청한다. (통상 80 port )

  3. 아파치 웹서버는 사용자의 요청이 들어왔을때, 이 요청이 톰캣에서 처리되도록 지정된 요청인지 확인한다.

  4. 톰캣에서 처리해야하 하는 경우 아파치 웹서버는 톰캣의 AJP 포트(통상 8009 port) 에 접속해 요청을 톰캣에게 전달한다.

  5. 톰캣은 아파치 웹서버로부터 요청을 받아 처리한 후, 처리 결과를 다시 아파치 웹서버에게 돌려준다.

  6. 아파치 웹 서버는 톰캣으로 전달받은 처리 결과를 사용자에게 전송한다.

Connector란

Tomcat과 Apache를 연결하는 맥락에서 연결은 웹 요청을 처리하기 위해 함께 작동할 수 있도록 두 서버 간에 통신 채널을 설정하는 것을 의미합니다.

Apache는 들어오는 요청을 처리하고 처리를 위해 Tomcat에 전달하는 프런트 엔드 프록시 서버 역할을 하도록 구성할 수 있습니다. 이를 통해 Apache는 정적 콘텐츠를 보다 효율적으로 제공하고 Tomcat은 동적 콘텐츠를 처리할 수 있습니다.

Apache와 Tomcat 간의 연결은 mod_jk 또는 mod_proxy와 같은 커넥터 모듈을 사용하여 설정할 수 있습니다. 이를 통해 Apache는 AJP 또는 HTTP 프로토콜을 통해 Tomcat에 요청을 전달할 수 있습니다.

사용자가 웹 페이지를 요청하면 Apache는 먼저 자체 캐시에서 또는 정적 파일을 제공하여 요청을 제공할 수 있는지 확인합니다. 가능한 경우 응답을 직접 반환합니다. 그렇지 않으면 처리를 위해 요청을 Tomcat에 전달합니다. Tomcat은 동적 콘텐츠를 생성하여 Apache로 다시 보내고 Apache는 응답을 사용자에게 전달합니다.

이 아키텍처를 사용하면 워크로드가 두 서버 간에 분산될 수 있으므로 웹 애플리케이션의 성능, 확장성 및 안정성이 향상됩니다.

아파치 연동

아파치와 톰켓을 연동하기 위해서는 각각 모두 설치되어 있어야 합니다.

Nginx 연동

  • nginx설치
  • 톰켓설치 및 자바설치
서브목차