<AWS EC2 AMI>
ami-e99faa9d : RightImage_CentOS_5.4_i386_v5.6.8.1_EBS


1. JDK 설치
설치되어있는 구버전의 JDK를 지우고

# rpm -qa | grep java
# rpm -qa | grep jdk
# rpm -e --nodeps 패키지명 
->로 모두 삭제한다. 

http://download.oracle.com/otn-pub/java/jdk/6u26-b03/jdk-6u26-linux-i586.bin 파일 Download & Install

/etc/profile 에 $JAVA_HOME 추가


2. Apache2 설치
http://mirror.khlug.org/apache//httpd/httpd-2.2.19.tar.gz

압축을 해제한 폴더에서 ./configure 를 실행 (옵션에 따라 많은 차이가 있다.)
http://blog.naver.com/PostView.nhn?blogId=kunks3&logNo=105790630&redirect=Dlog&widgetTypeCall=true

예) ./configure --prefix=PREFIX --enable-rewrite --enable-so --enable-mods-shared=most 

make & make install

service에 등록하려면 $APACHE2_HOME/bin의 apachectl을 /etc/rc.d/init.d/로 복사 후

chkconfig --add apachectl 명령어를 실행하면 되는데 이번에 설치한 ami에서는 에러를 발생한다.

apachectl를 vi 에디터로 편집하여 

# chkconfig: 2345 90 90
# description: init file for apachectl server daemon
# processname: /usr/local/apache2/bin/apachectl
# config: /usr/local/apache2/conf/httpd.conf
# pidfile: /usr/local/apache2/logs/httpd.pid

을 넣어주고 다시 실행하면 된다.
service apachectl start 씨리즈 명령어 완성


3. mod_jk 설정 

http://apache.tt.co.kr//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.32-src.tar.gz 

./configure --with-apxs=/usr/local/apache2/bin/apxs
apxs 옵션은 @APACHE2_HOME/bin/apxs으로 설정(추후 다른 옵션 공부 필요)

make 후 install 보다는 native/apache-2.0 에 있는 mod_jk.so 파일을 $APACHE2_HOME/modules 에 복사하는 방법을 이용

 # conf/httpd.conf 파일 수정
LoadModule jk_module modules/mod_jk.so 추가

<IfModule mod_jk.c>
#workers파일 위치
JkWorkersFile conf/workers.properties
#로그 위치
JkLogFile "logs/mod_jk.log"
#로그 레벨
JkLogLevel info
#로그 문자열 포멧
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkRequestLogFormat "[%w %V %T]"
#url 매핑 
JkMount /* loadbalancer
</IfModule>
 
 # conf/workers.properties 파일 신규 생성

worker.list=loadbalancer

worker.tomcat1.type=ajp13
worker.tomcat1.host=192.168.0.1
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1

worker.tomcat2.type=ajp13
worker.tomcat2.host=192.168.0.2
worker.tomcat2.port=8009
worker.tomcat2.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1,tomcat2

ajp13은 mod_jk에서 사용하는 프로토콜이다.


P.S 추가

mod_jk를 사용하지 않고 mod_proxy 및 mod_proxy_balancer를 이용하여 구성할 수 도 있다.
apache2 설치 옵션에서 --enable-proxy를 설정하면 mod_proxy 패키지가 설치되고

<VirtualHost *:80>
    ServerAdmin       admin@mydomain.co.kr
    ServerName        ad.ospserver.net
    ErrorLog          /usr/local/apache2/logs/ad.ospserver.net-error_log
    CustomLog         /usr/local/apache2/logs/ad.ospserver.net-access_log common

    <Proxy balancer://wpCluster>
      BalancerMember http://IP1:8080/docs
      BalancerMember http://IP2:8080/docs
    </Proxy>
    <Proxy balancer://apiCluster>
      BalancerMember http://IP3:8080/examples
      BalancerMember http://IP4:8080/examples
    </Proxy>
    ProxyPass /docs balancer://wpCluster
    ProxyPassReverse /docs balancer://wpCluster
    
    ProxyPass /examples balancer://apiCluster
    ProxyPassReverse /examples balancer://apiCluster
</VirtualHost>

와 같이 httpd.conf에 가상호스트 설정을 할 수 있다.
그렇담 과연 mod_jk와 mod_proxy의 차이점은 무엇인가?

<참조>
http://docs.codehaus.org/display/JETTY/Configuring+AJP13+Using+mod_jk
http://masamune.tistory.com/162 
 
신고

'07.Web' 카테고리의 다른 글

Tomcat 에서 ROOT context으로 webapps 실행하기  (0) 2012.02.20
Tomcat, Jetty and Winstone  (0) 2011.08.17
CentOS 5.4 + Apache 2.2 + Tomcat 6.0 + mod_jk 정리  (0) 2011.07.14
Apache ? Tomcat?  (0) 2011.06.03
java -jar hudson.jar  (0) 2011.05.28
REST CXF  (0) 2011.05.13
Posted by Stewie


티스토리 툴바