• apache,tomcat 연동시 가상호스트 설정 (linux)

    apache는 참 심플한데, tomcat은 까다롭다..

    설정하는 것도, 튜닝하는 것도 여러가지 손 봐줘야할 것들이 참 많다.

     

    java와 php를 함께 사용 하기 위해서는 apache + tomcat 연동해서 사용 하는 방법이 가장 많이 사용 되며, 일반적인 방법이다.

    또 한가지 방법은 php-java-bridge를 설치해서 연동 해주는 방법이 존재한다.

    (헌데 이 방법은 시도 해보다가 실패하여 시간이 없는 관계로 다음 포스팅에 대체 하도록 할 예정.)

     

    하고자 했던 작업은 이렇다 단독톰캣 사용 하다가 php를 사용해야 했고,

    몇몇개의 서브도메인이 존재하며, port base의 가상호스트 설정도 필요.

    (php-java-bridge 설치를 하고자 했으나 실패. 그래서 apache 연동 설정으로 변경.)

     

     

    apache 설치과정 생략.

    tomcat path : /usr/local/tomcat

    apache path : /usr/local/apache2

    php path : /usr/local/php

     

    – tomcat 단독 구성 되어 있었기 때문에 80 port 사용 => 8080 port 변경

    vi /usr/local/tomcat/conf/server.xml

    #=== 중략 ====

    <Connector port=”8080” protocol=”HTTP/1.1″
    connectionTimeout=”20000″
    redirectPort=”8443″ />
    <!– A “Connector” using the shared thread pool–>
    <!–
    <Connector executor=”tomcatThreadPool”
    port=”8080″ protocol=”HTTP/1.1″
    connectionTimeout=”20000″
    redirectPort=”8443″ />

     

    * 반대로 위 커넥터 부분의 port를 Default 상태인 8080 => 80으로 변경하여 단독 톰켓 구성이 가능하다.

     

    apache workers.properties 설정

    – 80 외에 8009, 9099 port 와 같이 두개의 포트 추가 사용을 위해 세개의 worker.list 추가

    vi /usr/local/apache2/conf/workers.properties

     

    workers.tomcat_home=/usr/local/tomcat
    workers.java_home=/usr/local/java/
    ps=/
    worker.list=rubi1,rubi2,rubi3

    worker.rubi1.port=8009
    worker.rubi1.host=localhost
    worker.rubi1.type=ajp13
    worker.rubi1.lbfactor=1

    worker.rubi2.port=8010
    worker.rubi2.host=localhost
    worker.rubi2.type=ajp13
    worker.rubi2.lbfactor=1

    worker.rubi3.port=8011
    worker.rubi3.host=localhost
    worker.rubi3.type=ajp13
    worker.rubi3.lbfactor=1

     

    apache 가상호스트 설정 (아파치 기본 설정 생략)

    – vi /usr/local/apache2/conf/extra/httpd-vhosts.conf

     

    NameVirtualHost *:80

    NameVirtualHost *:8001
    NameVirtualHost *:9099

     

    <VirtualHost *:80>
    ServerAdmin admin@rubi.kr
    DocumentRoot “/home/rubi/public_html
    ServerName rubi.kr
    ServerAlias www.rubi.kr
    ErrorLog “logs/www.rubi.kr-error_log”
    CustomLog “logs/www.rubi.kr-access_log” common
    JkMount /*.jsp rubi1
    JkMount /*.do rubi1

    JkMount /servlet/* rubi1
    </VirtualHost>

    <VirtualHost *:8001>
    ServerAdmin admin@rubi.kr

    DocumentRoot “/home/rubi/www2
    ServerName rubi.kr
    ServerAlias www.rubi.kr
    ErrorLog “logs/8001-error_log”
    CustomLog “logs/8001-access_log” common
    JkMount /*.jsp rubi2
    JkMount /*.do rubi2
    JkMount /servlet/* rubi2
    </VirtualHost>

    <VirtualHost *:9099>
    ServerAdmin admin@rubi.kr
    DocumentRoot “/home/rubi/www3
    ServerName rubi.kr
    ServerAlias www.rubi.kr
    ErrorLog “logs/9099-error_log”
    CustomLog “logs/9099-access_log” common
    JkMount /*.jsp rubi3
    JkMount /*.do rubi3
    JkMount /servlet/* rubi3
    </VirtualHost>

     

     

    – tomcat 가상호스트 설정

    가상호스트 추가 진행, 기본 localhost path 변경

     

    vi /usr/local/tomcat/conf/server.xml

     

    <Host name=”rubi.kr” appBase=”/home/rubi/public_html”
    unpackWARs=”true” autoDeploy=”true”
    xmlValidation=”false” xmlNamespaceAware=”false”>
    <Context path=”” docBase=”” reloadable=”true”/>
    <Alias>www.rubi.kr</Alias>

     

    <!– 80port로 2차 호스트인 test.rubi.kr 가상호스트 추가 –>

    <Host name=”test.rubi.kr” appBase=”/home/test/www”

    unpackWARs=”true” autoDeploy=”true”
    xmlValidation=”false” xmlNamespaceAware=”false”>
    <Context path=”” docBase=”” reloadable=”true”/>
    </Host>

     

    </Engine>
    </Service>

     

    <!– port 변경에 따른

    <Service name=”Catalina2″>
    <Connector port=”8002” protocol=”HTTP/1.1″
    connectionTimeout=”20000″
    redirectPort=”8443″ />
    <Connector port=”8010″ protocol=”AJP/1.3″ redirectPort=”8443″ />
    <Engine name=”Catalina2” defaultHost=”localhost”>
    <Realm className=”org.apache.catalina.realm.UserDatabaseRealm”
    resourceName=”UserDatabase”/>
    <Host name=”rubi.kr” appBase=“/home/rubi/www2”
    unpackWARs=”true” autoDeploy=”true”
    xmlValidation=”false” xmlNamespaceAware=”false”>
    <Context path=”” docBase=”” reloadable=”true”/>
    </Host>
    </Engine>
    </Service>
    <Service name=”Catalina3“>
    <Connector port=”9100” protocol=”HTTP/1.1″
    connectionTimeout=”20000″
    redirectPort=”8443″ />
    <Connector port=”8011″ protocol=”AJP/1.3″ redirectPort=”8443″ />
    <Engine name=”Catalina3” defaultHost=”localhost”>
    <Realm className=”org.apache.catalina.realm.UserDatabaseRealm”
    resourceName=”UserDatabase”/>
    <Host name=”rubi.kr” appBase=“/home/rubi/www3”
    unpackWARs=”true” autoDeploy=”true”
    xmlValidation=”false” xmlNamespaceAware=”false”>
    <Context path=”” docBase=”” reloadable=”true”/>
    </Host>
    </Engine>
    </Service>

     

     

    tomcat 가상 호스트 설정시 아래 부분을 추가 해줌으로써 appbase= 지정경로 밑에 ROOT를 홈디렉토리로 인식하는 부분을 해결 할 수 있다.

    <Context path=”” docBase=”” reloadable=”true”/>

     

    여기까지가 설정 모두 종료.

     

    http://www.rubi.kr/ 연결시 /home/rubi/public_html/ 내용 출력

    http://www.rubi.kr:8001 연결시 /home/rubi/www2 출력

    http://www.rubi.kr:9099 연결시 /home/rubi/www3 출력

    http://test.rubi.kr 연결시 /home/test/www 출력

     

    Comments

    comments

    Post Tagged with , , ,

One Responseso far.

  1. Propoker88.com 댓글:

    Hey there, You have done a fantastic job. I will definitely
    digg it and personally recommend to my friends. I am
    confident they’ll be benefited from this web site.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.