apache

Apache와 Tomcat AJP를 이용한 설정

gregorio 2018. 8. 3. 09:20

Apache와 Tomcat의 AJP Protocol을 사용하는 경우 설정하는 방법이 다양하다.


설정 시 단순하고, 역할별 설정할 수 있도록 구성하는 것이 향후 효율적으로 유지보수가 가능하다.


먼저 httpd-conf 파일을 수정한다.


■ httpd.conf


[conf/httpd.conf]


Include conf/extra/httpd-jk.conf


 


httpd.conf 파일에 MOD JK를 위한 설정 파일 위치를 포함한다.


■httpd-jk.conf


[conf/extra/httpd-jk.conf]


<IfModule mod_jk.c>

    JkWorkersFile conf/extra/workers.properties

    JkLogFile "/logs001/apache-2.4/jk.log"

    JkLogLevel error

    JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

    JkMountFile conf/extra/uriworkermap/uriworkermap.properties

</IfModule>


<Location /jk-status/>

    JkMount jkstatus

    Require ip 127.0.0.1

</Location>

 


httpd-jk.conf 파일에는 Works File 위치와 JK Mount File 위치를 설정한다.


■ workers.properties


worker.list=jkstatus,lb_dev



worker.template.type=ajp13

worker.template.lbfactor=1

worker.template.socket_timeout=300

worker.template.socket_connect_timeout=5000

worker.template.socket_keepalive=true

worker.template.connect_timeout=30000

worker.template.connection_pool_size=128

worker.template.connection_pool_minsize=32

worker.template.connection_pool_timeout=20




#########################################

## Load Balancer

#########################################

worker.lb_dev.type=lb

worker.lb_dev.balance_workers=dev

worker.lb_dev.sticky_session=true

worker.lb_dev.sticky_session_force=false



#########################################

## Worker

#########################################


worker.dev.reference=worker.template

worker.dev.host=10.255.116.163

worker.dev.port=8009



worker.jkstatus.type=status





먼저 worker list를 설정한다.

worker에 공통으로 사용되는 설정을 template으로 생성한다.


Load Balance를 설정한다. 여러대의 WAS에 Load Balance가 필요한 경우에는 worker.lb_dev.balance_workers에 추가한다.


마지막으로 worker를 설정한다.

worker에는 Was와 연결할 IP와 Port를 설정한다


■ uriworkermap.properties


/jk-status/ = jkstatus

/*.jsp = lb_dev

/*.do = lb_dev

/*.ncd = lb_dev

/oz/*.do = lb_dev

/oz/*.ncd = lb_dev

/oz/rest/* = lb_dev 


static contents는 apache에서 처리하고, 그외의 모든 호출은 WAS에서 처리하기 위해 WAS로 보내는 URI를 매핑한다.