본문 바로가기
Web Server, WAS/Apache Web Server

Apache + mod_jk+ Tomcat

by 아이티.파머 2011. 3. 17.
반응형

1. 준비물

* Apache 2.2
* Tomcat ver 7x
* mod_jk

[Apache 사이트에 접속하여 다운로드]
http://httpd.apache.org/

2. 설치

생략...
2.1 Apache 설치
2.2 Tomcat 다운로드후 압축 해제.
2.3 Mok다운로드후 압축 해제.

3. mod_jk 환경설정 파일 만들기.
Apache 와 Tomcat을 연동 하기 위한 준비작업임 mok는 그연결을 도와주는 역활을 함.
다운받은 mod_jk 폴더에에 mod_jk-1.2.26-httpd-2.2.4.so 파일을 찾아

[mod_jk-1.2.26-httpd-2.2.4.so] 편의를 위해 mod_jk.so 파일로 이름 변경

3.1 mod_jk.so 파일 복사
"E:\Program Files\Apache Software Foundation\Apache2.2\modules" 으로 복사한다.

3.2 Apache WebServer 환경설정

3.2.1 "%Apache_HORM%\conf\ " 디렉토리의 httpd.conf 파일을 열어 다음과 같이 편집한다.


LoadModule jk_module modules/mod_jk.so #mod_jk 모듈을 로드하겠다는 의미
include conf/mod_jk.conf                              #환경설정 파일을 인클루드(포함)하겠다는 의미

 
박스 안의 내용을 LoadModule 마지막 줄에 포함시킨다.


3.2.2 "%Apache_HORM%\conf\ "  에 mod_jk.conf 파일을 만든뒤 다음과 같이 편집한다.

#Configure mod_jk 설정#
JkWorkersFile "E:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties"

JkLogFile "E:\java\apache-tomcat-7.0.8-windows-x86-routejvm1\apache-tomcat-7.0.8\logs\mod_jk.log"

#JkLogLevel 설정
#JkLogLevel error
JkLogLevel INFO
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"

JkAutoAlias "E:\site\mySource\SpringFreamWork\dongbuFarm\WebContent"
JkMount /* ajp13
JkUnmount /*.php ajp13
#주석처리된 부분들은 모두 아파치에서 처리하게 된다. start#
#JkMount /*.html ajp13
#JkMount /*.js ajp13
#JkMount /*.jpg ajp13
#JkMount /*.gif ajp13
#JkMount /*.jpeg ajp13
#주석처리된 부분들은 모두 아파치에서 처리하게 된다. end#


AddDefaultCharset UTF-8


<Directory "E:\site\mySource\SpringFreamWork\dongbuFarm\WebContent">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow from all
</Directory>

#JkWorkersFile : tomcat 컨테이너와 port 통신을 위한 설정 부분으로 연동에 필요한 포트설정 부분과 가상도메인 기타
#JkLogFile : 로그 파일 위치를 지정한다.
#JkLogLevel : 로그 라벨을 지정한다. error 있을테고 info 등등
#JkAutoAlias : 자동으로 tomcat 컨테이너에 탑재된 웹 어플리케이션 지정한다.
#JkMount : 어떤url 패턴으로 서버하고 연결시킨 것인지 결정하는 것으로
#                /*.jsp 를 하게되면 jsp 호출시 아파치가 톰캣서버를 호출하도록한다.
#                 * 이렇게 하게되면 모든 url 호출시 톰캣서버를 호출한다.
#                   (이렇게 하게되면 아파치의 서버를 호출하지 못한다.)
#JkUnmount : 해당 url 패턴으로 톰캣서버를 호출하지 못하도록 한다.
#Directory : 웹에서 접근자에 대한 옵션을 지정하는 하는 것

3.2.3 Apache 웹서버와 Tomcat 컨테이너와 통신을 하기위한 포트 설정 부분을 별도 파일로 작성한다.
"%Apache_HORM%\conf\ " 에 workes.properties  파일을 만들어 다음과 같이 수정한다.

# load balancing할 wlb를 list에 등록한다.
# load balancing될 worker들의 경우 list에 등록하지 않아도 된다.
worker.list=ajp13
# load balancing될 worker들을 정의한다.
worker.ajp13.type=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.domain=skan.example.com
#worker.ajp13.lbfactor=1
#worker.ajp13.route=jvm1
#worker.ajp13.redirect=t2

#workers.tomcat_home=/usr/local/tomcat
#workers.java_home=/usr/local/java
#ps=\

4. Tomcat 컨테이너 설정 변경(확인)
우리가 사용한 내용은 %Tomcat_HOME%\conf\server.xml 의 기본설정을 바탕으로 수정하였기때문에
다음 사항을 확인한다.
ex) E:\java\apache-tomcat-7.0.8-windows-x86-routejvm2\apache-tomcat-7.0.8\conf\server.xml

 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" >
 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
</Engine>


5. VirtualHost 생성 %Apache_HOME%\conf\httpd.conf 파일을 열어 다음 내용을 추가하자.

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot "E:\site\mySource\SpringFreamWork\dongbuFarm\WebContent"
ServerName skan.example.com
#ServerAlias www.dummy-host.www.skan.com
#ErrorLog "logs/dummy-host.www.skan.com-error.log"
#CustomLog "logs/dummy-host.www.skan.com-access.log" common
</VirtualHost>


Apache와 Tomcat을  실행시키고 http://localhost:80 으로 접속하였을때.
http://localhost:8080 과 같은 화면이 뜬다면 성공



잠간쉬었다가. 이어서 Load Balance and Cluster 설정에 관해 해보자

참고
http://mygirl2.blog.me/40107274516
http://blog.pages.kr/69
http://attila1.egloos.com/78221
http://blog.naver.com/hex91?Redirect=Log&logNo=120049961489
http://blog.naver.com/lifetool?Redirect=Log&logNo=40065980241




반응형