WAS/Tomcat

[정보] Tomcat Native(APR) Connector 이해

투칼론 2019. 10. 1. 20:34
반응형
  • Tomcat은 외부에서 메시지 유입 요청 시 프로토콜에 따라 크게 AJP Connector와 HTTP Connector로 구분할 수 있다.
  • AJP Connector : Apache 와 같은 Web Server 를 통해 요청을 받는 경우에 사용하고, 바이너리 기반의 프로토콜로 동작
  • HTTP Connector : 표준 HTTP 프로토콜로 요청을 받는 경우 사용 (브라우저 또는 Web Server를 통하는 경우)

 

여기에서 설명은 위의 Connector 중에서 HTTP Connector에 대해서 설명하고자 한다.



1. Tomcat Native(APR) Connector 개요

성능 개선을 위해 Java 언어가 아닌 네이티브(C언어, JNI 라이브러리)로 작성된 Connector 모듈을 말한다. Tomcat 설치 시에 함께 설치되어 있지 않기때문에 사용하려면 별도로 설치해야 한다.
Tomcat을 사용하는 업무 특성에 따라 Tomcat Native (APR) Connector 가 아닌 기본적으로 설치되어 있는 BIO(Blocking IO) Connector 또는 Java Native IO 패키지로 개발된 NIO Connector를 활용할 수 있다.


2. 설치 방법

yum -y install tomcat-native 명령어를 통해 설치하거나, 특정 계정의 특정 위치에 설치하고자 할때는 다운로드하여, configure, make, make install을 통해 설치할 수 있다.


3. 설정 방법

1) server.xml의 Connector 설정

Tomcat Native (APR) Connector는 Server.xml 파일에서 Connector 설정하는 부분에 아래와 같이 설정하면 된다.

[APR Connector]

 ......

 Connector port="8080"  protocol="org.apache.coyote.http11.Http11AprProtocol"

 ......


참고로, 기존 Tomcat과 함께 설치되는 HTTP/AJP Connector 종류는 크게 BIO Connector (기본설정)와 NIO Connector가 있다.
기존 2개지 Connector의 설정 방법은 각각 아래와 같다.

[BIO Connector - 기본값]

 ......

 Connector port="8080"  protocol="org.apache.coyote.http11.Http11Protocol"

 ......


[NIO Connector]

 ......

 Connector port="8080"  protocol="org.apache.coyote.http11.Http11NioProtocol"

 ......



2) Tomcat 기동 쉘 catalina.sh에 네이티브 라이브러리 위치 추가 설정


 ......

 CATALINA_OPTS="-Djava.library.parth=[네이티브 라이브러리 설치 위치]

 ......


예) CATALINA_OPTS="-D/homw1/ssw/tomcat/native/lib"


4. 설정 확인 방법

로그 파일에 아래와 같은 메시지가 출력되면, 정상적으로 APR Connector를 로딩하여 사용할 준비가 된다.

01-Oct-2019 19:03:23.431   [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.18] using APR version [1.6.5].



참고로, BIO/NIO/APR Connector 비교자료는 아래 URL을 참조할 것

https://gs.saro.me/dev?tn=161


'WAS > Tomcat' 카테고리의 다른 글

[정보] Tomcat Manager 설정  (0) 2019.10.01
[정보] Access 로그 설정  (0) 2019.10.01
[Tips] 특정 IP에서 WebApp에 대한 접근 차단  (0) 2018.05.12
[Tips] Tomcat 버전 확인  (0) 2018.02.22
[Tips] JSP에서 한글 인코딩 처리  (0) 2016.12.11