여러가지 옵션을 제외하고 설정에는 크게 2종류가 있다.
 
Forward Proxy



예)
ProxyRequests On
ProxyVia On

<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>

Order -> 명령어의 순위 deny->allow
Deny -> 프록시 서버 접근 제한
Allow -> 서버 접근 허용
==> 모든 경우의 수를 제한 하지만 -> internal.example.com 만 허용
 

Reverse Proxy
 

예)
ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/

local server 가 http://example.com이라고 가정하면 http://example.com/mirror/foo/bar 라는 요청이 들어오면
ProxyPass에 의해서 http://backend.example.com/bar로 요청이 변환 된다. 하지만 만약 backend.example.com 서버에서
http://backend.example.com/quux으로 redirect가 일어난다면 Apache는 client에게 redirect 응답을 보내기 이전에
ProxyPassReverse 옵션에 의해 http://example.com/mirror/foo/quux로 변환하여 전달하게 된다.

mod_proxy_balancer
-loadbalancer를 구현한 submodule

예)
    <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 
 
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
http://orpheuskr.tistory.com/242
신고
Posted by Stewie

<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

MySQL migration toolkit

11.DB 2011.06.21 14:32
현재 하는 업무상 oracle DB를 AWS의 mySQL로 migration 할 일이 생겼다.
MySQL을 써본 경험이 많지 않기 때문에 그냥 하면 되지 뭐 라고 생각했는데

function, sequence, column type 등 다른 점이 생각보다 많았다.

즉, todd따위로 그냥 DDL 스크립트만 쭉 뽑아다가 할 수 있는 수준이 아니다.

그래서 찾아본 것이 MySQL migration toolkit
인스톨 과정에서 JDK가 아닌 JRE를 요구 하는 바람에 JRE를 살짝 설치해주고
그렇게 시작해보았다.

결국 스키마 정도와 데이터? 정도만 마이그가 되고
기타 문제가 되는 다른 부분에 대한것은 manual로 작업을 해야할 터인데...
과연 어떻게 이 난관을 극복해야 할 것 인지는 아직 고려중이다.
신고

'11.DB' 카테고리의 다른 글

MySQL migration toolkit  (0) 2011.06.21
SQL group by 해도 group으로 묶어서 컬럼 가져오기  (0) 2011.02.09
ORA-28000: the account is locked 오류시  (0) 2009.10.14
Posted by Stewie


티스토리 툴바