티스토리 뷰

출처 : http://citylock.tistory.com/151

1. 아파치 설치 (apache2)
2. 톰캣 설치  (tomcat6) 
tomcat6은 tomcat5 와 설정하는 부분에서 많은 차이가 있다
tomcat5는 별도의 확인이 필요할꺼 같다.
3. 연동 모듈 설치 (libapache2-mod-jk)


이렇게 하면 apache2와 tomcat6 가 연동된다. 각각에 대해서 자세히 살펴보자

1. 아파치 설치

시냅틱 패키지 관리자를 이용해서 apache2 설치



설치가 되면 http://localhost/ 에 접속하면 다음과 같은 화면이 나타난다. 다음단계로..



참고 : 아파치는 재실행 했을때 다음과 같은 Warning 이 뜬다면 ..

$ sudo vi /etc/apache2/apache2.conf 
 (생략)
ServerName localhost


2. Tomcat6 설치

Tomcat6 도 아파치와 같이  시냅틱 패키지 관리자를 이용해서 설치한다.
tomcat6,tomcat6-common, tomcat6-example, tomcat6-admin, tomcat6-docs 를 함께 설치 한다. 

설치가 완료되면 tomcat6을 축하하는 화면이 나온다. (tomcat6 에서는 고양이 없어졌다.)

(* tomcat5.5 의 경우 8180 포트가 default 이고, tomcat6 의 경우 8080을 default 포트로 사용하고 있다.)
이제 apache2와 tomcat6은 설치가 끝났다. 이 두개를 연동하는 방법에 대해서 알아보자. 이부분을 찾아보기 위해서 많은 검색을 했지만,
다들 자신들의 설정에 대한 것만 올려 놓은 상태라 배경지식이 없는 초보가 이해하기는 상당히 힘들었다. 
이글을 보고 저처럼 힘들었던 부분이 좀 해결되었으면 한다.  

3. php5 설치

php 를 위한 패키기를 설치한다. php 를 사용하지 않는다면 필요없는 부분이지만 그래도 .참고로 ..

설치를 하면 /var/www/ (아파치의 홈 디렉토리) 에 php 파일을 만들어 테스트한다.
$sudo vi index.php

<?php
       phpinfo();
?>


php가 제대로 설치가 되었다면 http://localhost/index.php  에 접속해서 아래 그림을 확인한다.

4. 아파치 - 톰캣 연동 모듈 설치 : libapache2-mod-jk


 
5. 연동을 위한 환경 설정

workers.properties 파일 생성
$sudo vi /etc/apache2/workers.properties

# Define 1 real worker using ajp13
worker.list=tomcat1

# Set properties for tomcat1 (ajp13)
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=20

아파치로 들어오는 입력값을 톰캣으로 보내기 위한 환경 설정이다. 
tomcat1 이라는 worker가 아파치의 내용을 톰캣으로 보내는 역할을 한다. 

다음은  apache2의 설정을 보자 
/etc/apache2/apache2.conf 에 아래 내용들을 추가한다.  
$ sudo vi /etc/apache2/apache2.conf
(생략)
ServerName localhost

# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

# Where to find workers.properties
# update this path to match your conf directory location
JkWorkersFile /etc/apache2/workers.properties

# Where to put jkshared Memory
JkShmFile /var/log/apache2/mod_jk.shm
 
# where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

위의 내용은 아파치에 mod-jk 를  load 하는 부분이다.
만일 문제가 있는 경우 mod_jk.so 파일의 위치를 확인해 보면 된다.

/etc/apache2/sites-enabled/000-default 파일 수정
<VirtualHost *:80>
   ServerAdmin webmaster@localhost

   # DocumentRoot /var/www/
   DocumentRoot /var/lib/tomcat6/webapps/ROOT/

   JkMount /*.jsp tomcat1


   (생략... )

일반적으로 http://localhost/ 이 들어왔을때 ROOT 가 되는 부분이 바로 DocumentRoot 된다. 
그리고 JkMount/(루트) 의 jsp 요청이 들어 오면 tomcat1 (worker.properties에서 정의)이 그 해당 요청을 tomcat6 에게 보내는 역활을 한다. jk는 *.jsp 를 보내는 것이 아니라 /*.jsp 에 대한 URL 만 tomcat6에 넘기기 때문에 apache와 Tomcat 의 ROOT 를 같게 해두는 것이 좋다. 

마지막으로 Tomcat 의 server.xml 을 확인해보자 
$ sudo vi /etc/tomcat6/server.xml
(생략....)

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

(생략....)
이부분의 아파치에서 보내는 요청을 받는 역할을 한다. 따라서 8009 포트의 AJP/1.3 이 활성화 되도록한다. 

6. Tomcat6, apache2 를 재구동한다.

$ sudo vi /etc/init.d/tomcat6 restart
$ sudo vi /etc/init.d/apache2 restart

이제 http://localhost/ 를 실행시키면 tomcat6 시작 페이지가 동작하면 정상이다.

http://localhost/index.jsp
http://localhost/index.php

톰캣 디렉토리(/var/lib/tomcat6/webapps/ROOT/ )에 jsp, php를 놓고 테스트 해본다.
# 여기까지 되었다면 http://localhost/ 에 대해서 index.html index.php index.jsp 모두가 실행될것이다. 


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크