RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'Tomcat'에 해당되는 글 2


Apache , 톰켓 가상디렉토리 설정

 

<아파치>

IIS에서 사용하는 가상디렉토리 와 같은 역할을 하는 것이 아파치에서는 Alias로 구현가능하다

httpd.conf 에 아래와 같이 기술합니다

 

Alias /aaa "/home/aaa/www"

<Directory "/home/aaa/www">

Options FollowSymLinks

DirectoryIndex index.html index.htm index.jsp *.jsp *.php

Order allow,deny

Allow from all

</Directory>

 

Alias /aaa 는 가상디렉토리명이 됩니다 http://주소/aaa  이런식으로 표현됩니다

그뒤에 “/home/aaa/www” 는 실제 경로를 기술합니다

 

그밑에 <Directory “/home/aaa/www”> 부분은 그디렉토리에 관한 설정이 들어갑니다

설정후 아파치를 재시작하고 접속하면 위치에 들어있는 index.html이나 php가 읽힙니다

 

<톰켓>

아파치와 톰켓이 톰켓커넥터(mod_jk.so)를 이용하여 연동되어있다고 하면

아파치와 톰켓 둘다 설정을 해야합니다


아파치는 위와같이 설정하면 되고 톰켓은 5.5버전부터 추천하는 것은 server.xml context path

기술하지말고 따로 파일을 만들어서 context path를 기술하라는 것입니다

이에대한자료는  따로 찾아보시길..

 

위치는  $CATALINA_HOME/conf/[enginename]/[hostname]/    입니다

쉽게 말하면

/usr/local/tomcat/conf/Catalina/localhost/  정도가 되겠죠

이위치에 aaa.xml 을 만들어줍니다(위의 아파치 내용과 연계해서 말하겠습니다)

<Context path="/aaa" docBase="/home/aaa/www"
        debug="0" privileged="true" reloadable="true">

<Logger className="org.apache.catalina.logger.FileLogger"
                directory="logs" 
prefix="localhost_log." suffix=".txt"
            timestamp="true"/>

</Context>

 

위의 형식으로 저장하고 톰켓 내렷다가 올려주면 http://주소/aaa  로도 jsp 작동하는것을 보실수있습니다


apache와 톰켓을 연동하고나서 아파치를 건들여야 할지  톰켓에서 설정해줘야 할지 검색을

해봤지만 원하는 답변이 없어서 쫌 삽질은 했습니다 암튼 apache+톰켓을 연동하신분들은
위와같이 둘다 설정해주시면 되겟습니다

APM으로 세팅되어있다면 apache설정부분으로 적용되니 아파치로 설정하면 되겠습니다


페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다

이 포스트가 유용하셨다면 구독하세요 Add to Google
블로그코리아에 블UP하기
크리에이티브 커먼즈 라이센스
Creative Commons License
http://commit.co.kr/trackback/61

APACHE2.2.3 + TOMCAT 5.5 RPM설치후 연동

아파치와 톰켓은 rpm으로 설치할것이고 커넥터는 바이너리를
다운받아
사용할것 입니다

OS Centos5.2로 작업 했습니다

09년 10월 1일 수정 : 내용변경 및 잘못된 내용수정, 오탈자 수정

11년 01월 12일 수정 : 링크 변경 



연동시 사용되는
connector 에는 mod_jserv, JK, JK2,
mod_webapp or mod_proxy
등이 있습니다.

 

자세한 내막은 알지는 못하지만 jserv mod_webapp


오래전부터 외면받아온 것 같고

 

JK2 는 개발자들의 흥미 부족을 이유로 개발이 중단되었습니다.

 

따라서 JK mod_proxy 가 남는 데 mod_jk.so(connector)


이용하여 설치를 하겠습니다

 


작업환경(2009년 6월 17)

OS

Centos 5.2

Apache2.2

httpd-2.2.3-22.el5.centos.1

Tomcat5.5

tomcat5-5.5.23-0jpp.7.el5_2.1

Java

jdk 1.6.0-b09

Connector

1.2.28



 

1.Apache 설치

Yum를 이용해서 설치합니다

Root로 작업합니다

#yum list | grep httpd

[root@ip149080 ~]#yum list | grep httpd

httpd.i386                                 2.2.3-22.el5.centos.1       installed

httpd-devel.i386                           2.2.3-22.el5.centos.1       installed

httpd-manual.i386                          2.2.3-22.el5.centos.1       updates 

lighttpd.i386                              1.4.22-2.el5.rf             rpmforge

lighttpd-fastcgi.i386                      1.4.22-2.el5.rf             rpmforge

lighttpd-mod_mysql_vhost.i386              1.4.22-2.el5.rf             rpmforge

system-config-httpd.noarch                 5:1.3.3.3-1.el5             base    

thttpd.i386                                2.25b-4.el5.rf              rpmforge

 

이렇게 나오는데 httpd.본인아키텍처로 설치하면됩니다

저는  32bit로 리눅스가 설치되엇기에

[root@ip149080 ~]#yum –y install httpd.i386

해서 설치 합니다

 

Httpd.conf는 따로 인터넷에서 최적화된 세팅법이나 본인에 맞게

맞추시고 본문건은 Apache + tomcat연동에 필요한 사항만 기술 합니다

 

 

[root@ip149080 ~]# vi /etc/httpd/conf/httpd.conf

를 한내용중

 

언어별 우선 순위라고 합니다. ko 를 맨 앞으로 옮겨줍니다.

LanguagePriority ko en ca cs da de el eo es et fr he hr it ja ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

[위에처럼 ko를 처음으로 이동시켜줍니다]

 

 

UTF-8 을 사용하기엔 아직 환경이 충분히 조성되지 않은 것 같습니다. 인코딩 방식을 EUC-KR로 변경해줍니다.

AddDefaultCharset EUC-KR

[EUC-KR로 변경]

 

 

저장한후 방화벽에서 80번 포트 열어줍니다

 

아파치 데몬을 올립니다

[root@ip149080 ~]#service httpd start

않되시면

[root@ip149080 ~]#/sbin/service httpd start

하시기 바랍니다

 

2번째로 되시는분은 일반계정사용중에 su로 루트로 로그인후에 작업하신분들이며

그일반계정에 /sbin 이 패스로 설정않되어있어서 첫번째처럼 했을 때 에러가 뜨는것입니다

그런분들은 계정 디렉토리에서 .bash_profile(bash일경우입니다)를 열어서

PATH=/usr/sbin:$PATH; export PATH

추가해서 패스를 추가해주시기 바랍니다

 

브라우저에서 http://127.0.0.1/ 로 접속해봅니다 혹은 http://아이피주소

로 접속해서 화면이 뜨면 된겁니다

[root@ip149080 ~]#service httpd stop 으로 데몬 내려주시구요

 

 

 

2.JDK 설치

 

대부분 문서는 sun 사이트에서 bin파일 설치하고 패스 잡아주고 하는데

그런자체가 잇는자료다 퍼다가 쓴 흔적이죠 구지 그럴필요 없습니다

 

[root@ip149080 ~]#/yum list | grep java

jakarta-commons-pool-javadoc.i386          1.3-5jpp.1                  installed

jakarta-commons-validator-javadoc.i386     1.1.4-5jpp.1                installed

jakarta-oro-javadoc.i386                   2.0.8-3jpp.1                installed

jakarta-taglibs-standard-javadoc.i386      1.1.1-7jpp.1                installed

java-1.4.2-gcj-compat.i386                 1.4.2.0-40jpp.115           installed

java-1.6.0-openjdk.i386                    1:1.6.0.0-0.30.b09.el5      installed

 

중략….많이 나옵니다 그중보면 깔끕스럽게

java-1.6.0-openjdk.i386  있네요

 

[root@ip149080 ~]#/yum –y install java-1.6.0-openjdk.i386

의존성에 의해 필요한 몇 개의 패키지를 다설치 합니다

*붙여서 java에 해당하는거 다설치하실필요없습니다

 

설치다되시면

[root@ip149080 ~]# java -version

java version "1.6.0"

OpenJDK  Runtime Environment (build 1.6.0-b09)

OpenJDK Client VM (build 1.6.0-b09, mixed mode)

 

뜨는걸 보실수있습니다 구지 패스 그런거 없어도 됩니다

 

   

3.TOMCAT 설치

 

[root@ip149080 ~]#yum list | grep tomcat

해보시면

tomcat5.i386                               5.5.23-0jpp.7.el5_2.1       installed

tomcat5-common-lib.i386                    5.5.23-0jpp.7.el5_2.1       installed

tomcat5-jasper.i386                        5.5.23-0jpp.7.el5_2.1       installed

tomcat5-jsp-2.0-api.i386                   5.5.23-0jpp.7.el5_2.1       installed

tomcat5-server-lib.i386                    5.5.23-0jpp.7.el5_2.1       installed

tomcat5-servlet-2.4-api.i386               5.5.23-0jpp.7.el5_2.1       installed


여러 개나 나옵니다 역시

[root@ip149080 ~]#yum –y install tomcat5.i386

를 설치해주시면 필요한 몇 개더 패키지 설치 합니다

 

8080포트 방화벽에서 열어주시구요

 

[root@ip149080 ~]#vi /usr/share/tomcat5/bin/relink

로 열어서 문서중간에 파란색으로 되어있는것처럼

않되어있으면 밑에 처럼 해주세요

 

for webapp in $(find $CATALINA_HOME/webapps -mindepth 1 -maxdepth 2 -type d) ; do

    [ -d "$webapp/WEB-INF/lib" ] && rebuild-jar-repository $webapp/WEB-INF/lib

Done


** 09년 10 월 1일 수정사항 :
전에는 이내용대로 사용하였으나
다중톰켓하면서 8080포트를
주석처리시 yum으로 설치한 톰켓이 올라오지 않아서
확인되지 않았지만 걍 찜찜해서 수정하면서 다시설치시 에는
기본값으로 해봤습니다
원하시는데로 골라서 설정하세요~
 




다음파일을 열어서 밑에와 같이 수정해주세요

#vi /usr/share/tomcat5/conf/workers.properties

#workers.tomcat_home=/var/tomcat

workers.tomcat_home=/usr/share/tomcat5

 

#workers.java_home=/opt/IBMJava2-13

workers.java_home=/usr/lib/jvm/java

 

저장하고 다음에 web.xml를 수정해줍니다

 

 

 

# vi /usr/share/tomcat5/conf/web.xml
밑에 기술된부분이 주석처리 되어있는데 풀어주셔야합니다


<servlet>
    <servlet-name>invoker</servlet-name>
    <servlet-class>
    org.apache.catalina.servlets.InvokerServlet
    </servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

 

이부분도

<servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

 

 

 

이번에는 server.xml 를열어 수정해줍니다

<!-- Define an AJP 1.3 Connector on port 8009 -->

<!--<Connector port="8009"

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />--> <<= 주석처리후

 

<Connector port="8009" maxHttpHeaderSize="8192" tomcatAuthentication="false"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" protocol="AJP/1.3" />

[위내용 새로써줍니다]

 기존 AJP 프로토콜을 정의한 부분을 주석을 달고 몇몇 Attribute
추가한내용입니다

 


 

# service tomcat5 start 로 올려주시구요

http://localhost:8080  이나 http://아이피주소:8080

를 쳐서 고양이가 나오는지 확인해 줍니다 않나오면 먼가 문제가있는것입니다

  

 

4.Connector설치

http://www.apache.org/dist/tomcat/tomc ··· aries%2F
바이너리 형태로 배포 되는 mod_jk.so를 사용하도록 하겠습니다
os에 맞게 다운 받습니다 저는 32bit에 리눅스이니

http://www.apache.org/dist/tomcat/tomc ··· Fi386%2F
위치에 있는  mod_jk-1.2.31-httpd-2.2.x.so   
를 다운받아 사용하겠습니다


다운받은뒤 복사를 합니다

# cp mod_jk-1.2.31-httpd-2.2.x.so /etc/httpd/modules/mod_jk.so 

권한을 변경합니다
chmod 755 /etc/httpd/modules/mod_jk.so




혹시 톰켓 커넥터를 컴파일 하실분들은
http://www.apache.org/dist/tomcat/tomc ··· c.tar.gz
위 경로가 바로다운받을수 있는 링크이구요 1.2.31 버전 이네요

apache가 소스로 설치 되었다라면 톰켓-커넥터를 압축을 풀고
디렉토리안에 보면 native 디렉토리가 있는데 이동하셔서
./configure --with-apxs=/아파치/설치/경로/bin/apxs
를 지정하셔서 configure 하신후에
make && make install 하셔서 빌드 끝내시면 mod_jk.so
커넥터 파일이 아파치 설치 위치의 module 디렉토리 안에
들어와 있을거구요 만약 없다면 native 디렉토리내에
apache-2.0 디렉토리내에 mod_jk.so가 있을것입니다(기억이..)

yum이나 RPM을 다운받아 apache를 설치하신분은
apache-devel을 설치해야 apxs가 있으므로 설치후에 경로는
/usr/sbin/apxs 임으로
./configure --with-apxs=/usr/sbin/apxs
로 하시거나 저위치에 없다면 whereis apxs 로 찾아보시기 바랍니다
make && make install 까지 끝내 빌드가 다되었다면
톰켓커넥터압축푼 디렉토리/native/apache-2.0
안에 mod_jk.so가 있을것입니다 그것을 아파치 /module 디렉토리로
복사 하면 됩니다


아니면 걍 속편하게 바이너리 형태로 제공되는 mod_jk.so를 다운받으세요~




그리고
Apache Tomcat을 연동할 파일 workers.properties 을 복사합니다
# cp /usr/share/tomcat5/conf/workers.properties /etc/httpd/conf/ 

/etc/httpd/conf/workers.properties 

tomcat 설치후 workers.properties 파일에 연동은 가능할정도 세팅되어있기에

그대로 복사 해서 사용하면 되겠습니다
 

workers.properties안의  ajp12, ajp13 은 식별자입니다 .
다른 식별자(가령 my1, my2, lb1,lb2 등등)를 사용해서

몇개 더 추가시켜도 됩니다 . 
가상호스트에 대한 셋팅을 다르게 가져갈 때 편하게 사용될 것 습니다

대신에 포트는 모두 다르게 가져가야 합니다
관련글 다중톰켓(유저별톰켓구성) 포스트


  

다음은 Apatche 설정파일 셋팅

# vi /etc/httpd/conf/httpd.conf

파일을 열어서 밑에 내용을 기술해줍니다



LoadModule jk_module modules/mod_jk.so

 

 밑의 내용을 따로 빼놓고 사용하여도 상관은 없습니다

전 httpd.conf  안에다가 설정하고 사용하겠습니다

JkWorkersFile /etc/httpd/conf/workers.properties

JkLogFile     /etc/httpd/logs/mod_jk.log

JkShmFile /usr/tomcat/logs/jk.shm
JkMount
/*.jsp ajp13
JkMount /*.do ajp13
JkMount /article/* ajp13
JkMount /uploadManager ajp13
JkMount /downManager ajp13

JkMount /alice-upload ajp13

JkMount /servlet/* ajp13

 

 

httpd.conf 다른쪽을보면 밑에와 같은 구문을 볼수 있습니다

DirectoryIndex index.html index.html.var

 

이부분을 밑에처럼 index.jsp 를 추가합니다

 

DirectoryIndex index.jsp index.html index.html.var

 

 

Tomcat5 의 홈디렉토리를 /var/www 로 변경해줍니다.

# cd /usr/share/tomcat5/webapps/

# mv ROOT ROOT.old

# ln -s /var/www/html /usr/share/tomcat5/webapps/ROOT

# cp -r /usr/share/tomcat5/webapps/ROOT.old/WEB-INF/ /usr/share/tomcat5/webapps/ROOT/WEB-INF

 

webapps 에 ROOT가 없다면 바로 심볼릭 링크 작업부터 해주면 됩니다

복사 작업은 넘어가시구요

 

만약 고양이 페이지가 없으신분들은 아에 아무것도 않나올것 입니다
jsp테스트 페이지로 테스트 해보시거나 고양이 페이지 다운받아서
/var/www/html/ 에 넣고 테스트 해보시기 바랍니다



설정이 끝났고 톰겟올려주시고 아파치 올려주시고 테스트 해보시기 바랍니다

 

[추가]로 이유는 모르겠으나 tomcat  startup를 해도 않될때에는

vi /usr/share/tomcat5/log/catalina.out

로 열어서

 

Caused by: java.lang.RuntimeException:

Unable to create path to config file :/usr/local/apache/modules/mod_jk.so

 

이런에러나

Caused by: java.lang.RuntimeException:

Unable to create path to config file :/usr/local/apache/conf/workers.properties

이런 에러가 발생시에는

이유는 모르겠지만 저 에러메세지에서 표시하는

디렉토리 경로대로 디렉토리 생성해주면 문제가 해결됩니다



포스팅 다운받기


 
페도라 한국 사용자 모임

페도라 한국 사용자 모임 태랑의 포스팅글입니다
  파이어폭스에 최적화 되어있습니다

이 포스트가 유용하셨다면 구독하세요 Add to Google
블로그코리아에 블UP하기
크리에이티브 커먼즈 라이센스
Creative Commons License
http://commit.co.kr/trackback/57
태랑:Extreme Performance DBA 를 꿈꾼다
Extreme Performance DBA 를 꿈꾼다



전체보기 (100)
Solaris (15)
Linux (42)
DATABASE (27)
Virtualization (0)
Enterprise Manager (0)
JAVA / C / 그외 개발언어 (2)
넓은 세상의 이야기들 (14)

Tag List

Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

7 명이 RSS를 구독하고 있습니다.