Gentoo-WiKi

본문 바로가기
사이트 내 전체검색


Gentoo Linux >> System Administration for Gentoo Linux
[목차]
제1장 Gentoo Linux 설치하기

    2. APR을 이용한 Tomcat 5.5 설치 (퍼포먼스 향상법)

아무래도 톰켓은 JAVA로 작성되다보니 JVM을 이용하기 때문에 속도가 그리 빠르지 못한편(?)이다. 아니 그보다 속도를 제대로 못내지 못한다고 말하는게 맞을 것이다.
하지만 APACHE 재단에서는 톰켓 5.5를 native server technologies를 사용하는 APR을 이용하여 퍼포먼스를 최대로 끌어 낼 수 있도록 지원해주고 있다.

이름하여 tomcat-native(?) 하지만 실제이름은 Apache Portable Runtime and Tomcat 이다.

다음 사이트를 가면 자세한 사항을 볼 수 있으나 여기서는 그냥 설치 법을 보도록 하겠다.
tomcat-native site : http://tomcat.apache.org/tomcat-5.5-doc/apr.html

우선 설치 전에 본인은 다음의 환경에서 테스트를 하였다.

인용:
* Gentoo 2006.0 ~x86
* Tomcat 5.5.17 (바이너리 빌드- 스스로 다운 받았음 이유는 아직 portage에서 제공하지 않기 때문...) 다운로드는 여기서 http://tomcat.apache.org/download-55.cgi
* Sun Java Development Kit 1.5.0.06 (sun-jdk-1.5.0.06)
* dev-libs/apr-1.2.7 , dev-libs/apr-util 1.2.7



여기서 tomcat 5.5는 하위버전의 Java 1.4에서도 작동할 수 있도록 JDK 1.4 Compatability Package를 지원하니 만일 1.4 버전의 자바를 사용하고 싶다면 이 파일을 받아 톰켓 디렉토리에 덮어쓰기 바란다.

1. 자바의 설치(1.5버전 설치시)

JDK 설치는 여러 문서가 나와있으므로 간단히 언급하겠다.
먼저 sun-jdk-1.5버전은 mask 가 걸려있는 패키지 이므로 마스크를 풀고 ACCEPT_KEYWORDS를 붙여주어야만 설치가 가능하다.
다음 명령으로 설치한다.

코드:
# echo \\">=dev-java/sun-jdk-1.5.0\\" >> /etc/portage/package.unmask
# echo \\">=dev-java/sun-jdk-1.5.0\\" >> /etc/portage/package.keywords
# emerge -av sun-jdk
# java-config -S sun-jdk-1.5.0.06
# env-update && source /etc/profile



sun-jdk는 라이센스 문제로 emerge를 통해서 프로그램을 받을 수 없으므로 다음 링크에 들어가서 받아 /usr/portage/distfiles 디렉토리에 스스로 넣어 주어야 한다.
http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=jdk-1.5.0_06-oth-JPR&SiteId=JSC&TransactionId=noreg
links2 유틸이 설치가 되어있다면 이 명령으로도 들어가서 다운로드 할 수 있다.

코드:
# links2 \\"http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=jdk-1.5.0_06-oth-JPR&SiteId=JSC&TransactionId=noreg\\"


2. 톰켓 5.5 설치하기

2.1 다운로드 및 압축 풀기

현재 가장 최신 버전은 5.5.17버전으로 이 가이드를 시점에서는 포티지가 이 패키지를 제공하지 않고 있다. 따라서 수동으로 다운 받아서 설치를 해야하는데 일반적인 젠투방식이 아니므로 약간의 변형을 해주어야 한다.(젠투 방법으로 실행하기 위해...)

자 먼저 다운로드를 받고 압축을 풀도록 하자.

코드:
# wget http://mirror.apache.or.kr/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.tar.gz
# tar -zxvf apache-tomcat-5.5.17.tar.gz -C /opt
# mv /opt/apache-tomcat-5.5.17 /opt/tomcat5.5
# ln -sf /opt/tomcat5.5/logs /var/log/tomcat5
# groupadd tomcat
# useradd -d /dev/null -s /bin/false -c \\"Apache Tomcat\\" tomcat
# chown -R tomcat:tomcat /opt/tomcat5.5
# chown -R tomcat:tomcat /var/log/tomcat5



2.2 젠투에 맞는 톰켓 환경 설정하기

기존 포티지에서 제공하는 톰켓 스타일로 변형을 하겠다. 이 말은 시작 스크립트 환경 스크립트 등을 생성하여 일반적으로 tomcat을 시작 시키는 방식을 고수하겠다는 말이다. (어렵다면 그냥 따라하자...!! 백문이 일타!)

2.2.1 톰켓 환경 설정 파일 생성

# touch /etc/conf.d/tomcat5
# touch /etc/env.d/21tomcat
# touch /etc/init.d/tomcat5

2.2.2 /etc/env.d/21tomcat 설정

이 파일은 톰켓의 디렉토리를 시스템에게 알려줄 때 사용된다.
# echo \\"CATALINA_HOME=/opt/tomcat5.5\\" >> /etc/env.d/21tomcat

2.2.3 /etc/conf.d/tomcat5 설정

이 파일은 톰켓 시작스크립트(/etc/init.d/tomcat5)에게 기초적인 정보를 제공할 때 사용된다.
다음의 내용을 붙여 넣거나 주석을 빼고 작성하면 된다.

코드:

# 톰켓 5.5 설정 파일
# JVM Runtime
# Using the default setting, it will determine your JVM from the system-vm
# set using java-config.
# See java-config(1) manual page for assistance in determining this value.
#
# You can override this value with whatever path you wish.
# Example: JAVA_HOME=/opt/sun-jdk-1.4.2.05

#JAVA_HOME=/opt/jdk-1.5.0_06

# (Optional) Java runtime options used when the \\"start\\", \\"stop\\", or \\"run\\"
# commands are executed.
# 다음 줄은 컴파일 된 APR 라이브러리가 있는 곳을 톰켓 시작시 지시해주는 곳이다. 매우 중요!!!
JAVA_OPTS=\\"-Djava.library.path=/usr/local/apr/lib\\"

# Where your web applications are located
CATALINA_HOME=/opt/tomcat5.5
#CATALINA_BASE=${CATALINA_HOME}

# Tomcat\\''s User
CATALINA_USER=tomcat

# Tomcat Console Log Location
CATALINA_OUT=/var/log/tomcat5/catalina.log

# Location of the Tomcat JARs and classes
#CATALINA_LIBDIR=/usr/share/tomcat5/lib

# The CLASSPATH for Tomcat to use, plus any others you need.
#CLASSPATH=${CLASSPATH}:${CATALINA_LIBDIR}

# (Optional) Directory path location of temporary directory the JVM should
# use (java.io.tmpdir). Defaults to $CATALINA_BASE/temp.
# CATALINA_TMPDIR=\\"/your/path/here\\"

# TOMCAT STARTUP/SHUTDOWN
# debug Start Catalina in a debugger
# debug -security Debug Catalina with a security manager
# embedded Start Catalina in embedded mode
# jpda start Start Catalina under JPDA debugger
# start Start Catalina in a separate window
# start -security Start in a separate window with security manager
# stop Stop Catalina\\"
#
# NOTE: -security requires JSSE (see below)
# NOTE: jpda requires JPDA (see below)
TOMCAT_START=\\"start\\"
TOMCAT_STOP=\\"stop\\"

# (Optional) Java runtime options used when the \\"start\\", \\"stop\\", or \\"run\\"
# commands are executed.
# CATALINA_OPTS=\\"\\"

# Java Platform Debugger Architecture (JPDA)
# http://java.sun.com/products/jpda/
# Included with Java SDK 1.3 and later. No need to specify location.
#
# JPDA_TRANSPORT (Optional) JPDA transport used when the \\"jpda start\\"
# command is executed. The default is \\"dt_socket\\".
#
# JPDA_ADDRESS (Optional) Java runtime options used when the \\"jpda start\\"
# command is executed. The default is 8000.
#
# JPDA_TRANSPORT=\\"dt_socket\\"
# JPDA_ADDRESS=\\"8000\\"

# Java Secure Socket Extension (JSSE)
# http://java.sun.com/products/jsse/
# Included with Java SDK 1.4 and later.
#
# JSSE_HOME (Optional) May point at your Java Secure Sockets Extension
# (JSSE) installation, whose JAR files will be added to the
# system class path used to start Tomcat.
#
# JSSE_HOME=\\"/opt/sun-jdk-1.4.1.02/jre/lib/\\"


2.2.4 톰켓의 시작 스크립트 설정

다음은 시작, 종료, 재시작등을 제어하는 스크립트 내용이다. /etc/init.d/tomcat5에 넣도록 한다.
참고로 이 스크립트는 5.0.27 버전의 내용을 수정한 버전이다.

코드:

#!/sbin/runscript

depend() {
use dns logger mysql postgresql net
}

start() {
ebegin \\"Starting Tomcat\\"
start-stop-daemon --start --quiet --chuid tomcat:tomcat --exec ${CATALINA_HOME}/bin/catalina.sh -- ${TOMCAT_START}
sleep 5
eend $?
}

stop() {
ebegin \\"Stopping Tomcat\\"
start-stop-daemon --start --quiet --chuid tomcat:tomcat --exec ${CATALINA_HOME}/bin/catalina.sh -- ${TOMCAT_STOP}
sleep 5
eend $?
}



2.2.5 톰켓 5.5 바이너리 실제 시작 스크립트의 편집

그냥 /etc/init.d/tomcat5를 통해서 시작했을 경우 톰켓은 에러메시지를 보이면서 시작되지 않는다. 이유는 환경설정이 제대로 전달 되지 않아서 인데 /opt/tomcat5.5/bin/catalina.sh를 편집하여 다음과 같이 추가해주도록 한다.

코드:

.. 생략...

# source the appropriate files right away
# 이부분이 톰켓에게 시스템의 환경 설정을 알아챌수 있도록 하는 내용임!
source /etc/profile
source /etc/conf.d/tomcat5

# OS specific support. $var _must_ be set to either true or false.
cygwin=false
os400=false
darwin=false

... 생략 ....


3. Tomcat-Native 설치

3.1 설치를 위한 준비 apr 버전 확인 및 설치

Tomcat-Native를 돌리기 위해서는 APR버전이 1.2이상이 되어야한다. 젠투에서는 아파치를 설치할 때 기본적으로 0.9.7버전이 설치 되도록 하는데 업데이트를 하도록 하자
업데이트를 하기전에 apr 1.2이상은 키워드된 mask 패키지(~M) 이므로 마스크를 풀어주어야하고 ~* 키워드를 사용하여야 설치가 가능하다.

코드:

# emerge -C dev-libs/apr dev-libs/apr-util
# echo \\"dev-libs/apr\\" >> /etc/portage/package.keywords
# echo \\"dev-libs/apr\\" >> /etc/portage/package.unmask
# echo \\"dev-libs/apr-util\\" >> /etc/portage/package.keywords
# echo \\"dev-libs/apr-util\\" >> /etc/portage/package.unmask
# emerge -av dev-libs/apr dev-libs/apr-util
# 1.2버전 이상인지 확인후 설치 한다.


3.1.2 APR 버전 확인

위의 패키지를 설치했다면 /usr/bin으로 가서 다음 파일이 있는 지 확인해 보도록 하자

코드:

# ls /usr/bin/apr*
/usr/bin/apr-1-config /usr/bin/apr-config /usr/bin/apropos


아마도 여러분은 apr-config라는 파일이 없을 것이다. 1.2.7은 무슨 이유에서인지 apr-1-config라는 이름으로 생성이 된다.
따라서 하위 버전 호환성(?)을 위해 심볼릭 링크를 생성해 준다.

코드:

# ln -sf /usr/bin/apr-1-config /usr/bin/apr-config


3.2 Tomcat-Native파일 받기
사실 tomcat-native는 tomcat 5.5.17 바이너리 파일에 같이 들어가 있으므로 따로 받을 필요가 없다.
이 파일은 /opt/tomcat5.5/bin에 tomcat-native.tar.gz라는 이름으로 존재한다.

3.2.1 압축 풀기 및 설치

코드:

# cd /opt/tomcat5.5/bin
# tar -zxvf tomcat-native.tar.gz
# cd tomcat-native-1.1.3/jk/native
# ./configure --with-apr=/usr/bin/apr-config --with-ssl
# make && make install


설치까지 아무런 문제 없이 끝났다면 /usr/local/apr이라는 디렉토리가 생성이 되면서 여기에 파일들이 들어갈 것이다.

다음 명령으로 잘 들어갔는 지 확인 해 본다.

코드:

# ls -l /usr/local/apr/lib
합계 1628
-rw-r--r-- 1 root root 962734 2006-05-16 10:04 libtcnative-1.a
-rwxr-xr-x 1 root root 909 2006-05-16 10:04 libtcnative-1.la
lrwxrwxrwx 1 root root 22 2006-05-16 10:04 libtcnative-1.so -> libtcnative-1.so.0.1.3
lrwxrwxrwx 1 root root 22 2006-05-16 10:04 libtcnative-1.so.0 -> libtcnative-1.so.0.1.3
-rwxr-xr-x 1 root root 692450 2006-05-16 10:04 libtcnative-1.so.0.1.3
drwxr-xr-x 2 root root 26 2006-05-16 10:04 pkgconfig


4. 톰켓의 시작 및 확인
톰켓이 네이티브 모드로 작동 되는 지는 시작 후 로그파일을 보면 알 수 있다.
만일 INFO: The Apache Portable Runtime which allows performance in production environments was not found on the java.libraray.path: ..... 라고 나온다면 제대로 작동 하지 않은것이므로 확인을 해봐야한다.

자 시작시켜보자
코드:

# /etc/init.d/tomcat5 start


로그 파일은 다음 명령으로 확인 할 수 있다.

코드:

# vi /var/log/tomcat5/catalina.out

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.