[Linux] Apache-Tomcat 80포트로 사용하기
웹서버로 많이 사용하는 Apache-Tomcat 에서 tomcat 은 기본적으로 8080 포트에서 동작하는데,
기본 웹서버 포트인 80번 포트로 동작시키기 위해서는 mod_proxy 나 mod_jk 를 이용해서 포트를 연결해 줘야 한다.
mod_proxy 와 mod_jk 의 장단점은 다음과 같다.
@ mod-proxy
- 장점
1. 추가 모듈이 따로 필요 없다. (Apache 2.2 이상에서는 mod_proxy, mod_proxy_http, mod_proxy_ajp, mod_proxy_balancer 가 모두 포함되어 있다.)
2. http, https 혹은 AJP 사용가능
- 단점
1. mod_proxy_ajp 는 8K+ 크기의 패킷을 지원하지 않는다.
2. 기본 load balancer 를 사용한다.
3. Domain model clusterig 을 지원하지 않는다.
@ mod_jk
- 장점
1. 향상된 load balancer
2. 향상된 node failure detection
3. 큰 패킷 사이즈의 AJP 를 지원
- 단점
1. 별도의 모듈을 설치해야 한다.
위의 내용은 아래 링크에서 가져온 내용임.
https://community.jboss.org/people/mladen.turk/blog/2007/07/16/comparing-modproxy-and-modjk
@ mod_proxy 설정
1. Apache 가 설치되어 있으면 별다른 설치는 필요없다.
2. 설정
httpd.conf
ProxyPass /app http://127.0.0.1:8080/app
ProxyPassReverse /app http://127.0.0.1:8080/app
@ mod_jk 설정
1. Httpd Developer 버전을 준비한다. (yum install httpd-devel)
2. Connector 모듈을 다운로드 한다. (http://tomcat.apache.org/connectors-doc/)
3. 설치
cd native/
./configure --with-apxs=/usr/sbin/apxs
make
sure make install
4. 설정
httpd.conf
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf.d/workers.properties
JkMountFile conf.d/uriworkermap.properties
JkShmFile logs/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
</IfModule>
workers.properties
worker.list=ajp
worker.ajp.port=8009
worker.ajp.host=localhost
worker.ajp.type=ajp13
worker.ajp.lbfactor=1
worker.ajp.socket_timeout=60
uriworkermap.properties
/*.do=ajp
/*.jsp=ajp
/*.js=ajp
/*.gif=ajp
/*.jpg=ajp
/*.css=ajp