apache2.0.x + tomcat5.5 + jdk5 연동

개발 서버 운영 환경 구축


환경
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(또는 jk제외)
./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 jdk-1.5.0-linux-i586.bin

./jdk-1.5.0-linux-i586.bin

생성된 디레토리를 옮김
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


이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 강호진 | 2008/03/25 11:42 | LINUX | 트랙백 | 덧글(0)

트랙백 주소 : http://soulcinder.egloos.com/tb/179636
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

<< 이전 페이지     다음 페이지 >>