Ubuntu 에서 Apache와 Tomcat 연결하기

- apache2 install
>apt-get install apache2 libapache2-mod-jk

- workers.properties 확인 (JVM 셋팅)
>cd /etc/libapache2-mod-jk/
>vi workers.properties
 : JVM 셋팅. worker 관련 properties 확인.
workers.java_home=/usr/lib/jvm/java-6-sun

worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13


- jk.load 에서 worker 위치 지정
>cd /etc/apache2/mods-enabled/
>vi jk.load
 : workers.properties 위치 지정
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel info
JkOptions +ForwardURICompatUnparsed

- JK Mount 하기
>cd /etc/apache2
>vi sites-enabled/000-default
 : 마지막 라인에 모든 들어오는 URL 을 ajp13_worker로 mount.
(unmout 하는 것도 여기서 셋팅)
        </Directory>

        JkMount /* ajp13_worker
</VirtualHost>

- apache2 restart
>apache2ctl restart

이렇게 하면 server로 들어오는 모든 request를 Apach에서 받아서 Tomcat 으로 전달해준다.
예를 들면, xxx.xxxx.com 을 요청하면 tomcat 의 xxx.xxxx.com:8080으로 연결된다.

여기서 중요한 건 worker.
Tomcat 세팅을 보면 AJP/1.3 이 8009로 연결된 것을 볼 수 있다.
Request 가 들어오면 JKMount 에 의해서 모든 request 는 ajp13_worker로 연결되고, ajp13_worker의 설정을 보면 포트가 8009로 설정되어 있고, 따라서 Tomcat에서 AJP/1.3을 8009로 listen 하고 있기 때문에 request는 tomcat으로 연결되는 것이다.

혹, restart 했는데, 아래와 같이 server name 이상하다고 하면,
apache2 apr_sockaddr_info_get failed xxxxxx

/etc/apache2/httpd.conf 에서 ServerName localhost 라고 추가하면 된다.

이제 tomcat start 하고, apache start 한 상태에서 URL 에 8080 포트 빼도 동작이 된다.

일단 지금은 여기까지. 또 필요하면 그때 그때 추가.








신고

'개발 > MISC' 카테고리의 다른 글

RailLink 무선랜카드 오류  (0) 2011.02.09
오픈 소스 소프트웨어 라이센스 가이드  (0) 2011.01.25
Thrift  (1) 2011.01.04
Self signed certificate Browser 에 적용하기  (0) 2010.03.25
Ubuntu 에서 apache2에 SSL 설정  (5) 2010.03.18
Ubuntu 에서 Apache와 Tomcat 연결하기  (0) 2009.02.27
TRACKBACK 0 COMMENT 0

티스토리 툴바