tomcat5.5+jdk5 연동 (linux)

Posted by 겨울에
2011. 2. 14. 23:31 scrap/ Linux
 [apache2.0.x+tomcat5.5+jdk5 연동 (linux)|작성자 쿠쿠  ]


환경
apache2.0.x
tomcat5.5.x
jdk5.x
linux fedora6


순서
1.apache 컴파일하여 설치
2.mod_jk 생성
3.jdk 설치
4.tomcat 설치
5. 환경변수 설정
6.apache와 tomcat 연동


1.apache 설치
tar zxvf httpd~.tar.gz
./configure --prefix=/usr/local/apache --enable-modules=so
make;make install
httpd -l =>mod.so.c가 보이면 성공


2.mod_jk 생성
tar zxvf tomcat-conne~.tar.gz
cd tomcat-connec~/jk/native
./buildconf.sh
./configure --with-apxs=/usr/local/apache/bin/apxs(apxs 실행파일이 있을 것임)
make;make install
/usr/local/apache/modules/mod_jk.so 파일이 있으면 성공


3.jdk 설치
download jdk-1.5.0-linux-i586.bin
#rpm 버전을 다운받으면 안된다. rpm 버전을 설치 후 파일이 분산돼 있어 환경설정 변경이 어렵다.
파일의 퍼미션을 실행할 수 있도록 바꾼다.(chmod 755 파일이름)

생성된 디레토리를 옮김
mv jdk-1.5.0 /usr/local/java


4.tomcat 설치
tar zxvf tomcat~.tar.gz
#tomcat은 자바 언어로 생성된 파일이므로 컴파일 과정이 불필요하다.

생성된 디렉토리를 옮김.
mv jakarta-tomcat~ /usr/local/tomcat
실행방법: catalina.sh start 또는 startup.sh
http://localhost:8080/으로 접속하여 고양이가 보이면 성공


5. 환경 변수 설정
vi /etc/profile에 다음 코드 추가
#java_environment
JAVA_HOME=/usr/local/java
TOMCAT_HOME=/usr/local/tomcat
PATH=$JAVA_HOME/bin:$TOMCAT_HOME/bin:/usr/local/apache/bin:$PATH
export JAVA_HOME TOMCAT_HOME

저장후 환경 변수 적용
source /etc/profile


6.apache tomcat 연동
톰캣 워커는 웹서버인 아파치를 대신하여 클라이언트 측에서 요청하는 서블릿을 실행하기 위해 대기 중인 인스턴스로서 서블릿 요청을 대기중인 톰캣 프로세스라고 할 수 있다.
톰캣 워커가 하는 일은 클라이언트 측의 서블릿 요청을 톰캣 워커에게 전달하여 요청을 처리한다.
톰캣 워커는 단일 워커뿐만 아니라 특정 웹서버를 대신하여 다중 워커를 가질 수 있다.
톰캣 워커의 설정은 소스의 압축이 풀어진 디렉토리/conf에 있는  workers.properties 파일을 직접 가져다 쓸 수도 있고 필요한 부분만을 작성할 수도 있다.

vi /usr/local/apache/conf/workers.properties 생성
#Start setup file
#worker.tomcat_home=/usr/local/tomcat
#worker.java_home=/usr/local/java
worker.list=ajp12, ajp13

#Definition for ajp13 worker
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13

#worker.list:정의된 worker 목록을 지정한다. worker는 다중워커의 사용이 가능하다.
#worker.지정된worker.port:서비스할 port를 지정한다.
#worker.지정된worker.host:톰캣이 동작하고 있는 호스트를 지정한다.(호스트명, ip주소)
#worker.지정된worker.type:커넥터 연결방식 지정, ajp12와 ajp13 사용 가능
#End setup file


httpd.conf에서 mod_jk 모듈 인식
LoadModule jk_module modules/mod_jk.so

Index파일 정의
DirectoryIndex index.html index.htm index.jsp

WebServer Plugin설정(httpd.conf 맨 마지막 줄에 추가)
Include conf/tomcat.conf
#httpd.conf파일에서 지정한 파일들을 불러온다.


apache/conf/tomcat.conf 설정
#mod_jk setup
#workers 파일의 위치 지정
JKworkersFile "/usr/local/apache/conf/workers.properties"

#jk에 대한 로그파일의 위치를 지정
JkLogFile "/usr/local/tomcat/logs/mod_jk.log"

#로그 레벨을 지정
JkLogLevel emerg

#로그 시간 포맷을 지정
#로그 내용 포맷을 지정
#JkAutoAlias "/usr/local/tomcat/webapps"

#/웹 컨텍스트에 *.jsp 요청이 들어올 경우 톰캣으로 넘기라는 설정
#이 때 지정한 workers.properties에 정의한 이름 기입
#모든 url에 대하여 톰캣으로 넘길 경우 다음과 같이 설정(JkMount /* worker이름)
JkMount /* ajp13
#JkUnmount /*.jsp ajp13

#보안을 위해 WEB-INF 디렉토리에 대한 접근을 금지
<Location "/WEB-INF/*">
    AllowOverride None
    deny from all
</Location>
#보안을 위해 META-INF 디렉토리에 대한 접근을 금지
<Location "/WEB-INF/*">
    AllowOverride None
    deny from all
</Location>

#jsp-examples 웹 컨텍스트에 대한 설정 예제
Alias /jsp-examples "/usr/local/tomcat/webapps/jsp-examples"
<Directory "/usr/local/tomcat/webapps/jsp-examples">
    Options Indexes FollowSymLinks
    DirectoryIndex index.html index.htm index.jsp
</Directory>



추가
http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
샘플 소스는 위 사이트 참고

mod_jk.conf
    # Load mod_jk module
    LoadModule    jk_module  modules/mod_jk.so
    # Declare the module for <IfModule directive> (remove this line on Apache 2.0.x)
    #AddModule     mod_jk.c
    # Where to find workers.properties
    JkWorkersFile d:/apache/apache22/conf/workers.properties
    # Where to put jk shared memory
    #JkShmFile     /var/log/httpd/mod_jk.shm
    # Where to put jk logs
    JkLogFile     d:/tomcat/tomcat55/logs/mod_jk.log
    # Set the jk log level [debug/error/info]
    JkLogLevel    info
    # Select the timestamp log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    # Send servlet for context /examples to worker named worker1
    JkMount  /examples/servlet/* worker1
    # Send JSPs  for context /examples to worker named worker1
    JkMount  /examples/*.jsp worker1
    JkMount /* ajp13w

workers.properties
 # Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# workers.properties.minimal -
#
# This file provides minimal jk configuration properties needed to
# connect to Tomcat.
#
# The workers that jk should create and work with
#

worker.list=wlb,jkstatus,ajp13w

#
# Defining a worker named ajp13w and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13w.type=ajp13
worker.ajp13w.host=localhost
worker.ajp13w.port=8009

#
# Defining a load balancer


worker.wlb.type=lb
worker.wlb.balance_workers=ajp13w

#
# Define status worker
#

worker.jkstatus.type=status



추가2
tomcat 대신 jboss 설치 시 설정

jboss tomcat 등록

vi $JBOSS_HOME/server/default/deploy/jbossweb-tomcat50.sar/server.xml(jboss 3.2 기준)
$JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar/server.xml(jboss 4.0 기준)

 <!-- A AJP 1.3 Connector on port 8009 -->
      <Connector port="8009" address="${jboss.bind.address}"
         enableLookups="false" redirectPort="8443" debug="0"
         protocol="AJP/1.3"/>

<Engine name="jboss.web" defaultHost="localhost" jvmRoute="ajp13w">
jvmRoute attribute를 추가하고 값은 worker 이름을 기입한다.


JBoss의 UseJK 값 활성화
vi $JBOSS_HOME/server/default/deploy/jbossweb-tomcat50.sar/META-INF/jboss-service.xml

 <attribute name="UseJK">true</attribute>
값을 false에서 true로 바꾼다.


JBoss 재시작

'scrap >  Linux' 카테고리의 다른 글

fedora linux 9. webserver setting. (2)  (0) 2011.02.14
fedora linux 9. webserver setting. (1)  (0) 2011.02.14
Linux process 관리  (0) 2011.02.14
linux ftp  (0) 2011.02.14
linux webserver. part 1  (0) 2011.02.14