본문 바로가기
APM

[Linux]자바(java) + 톰켓(tomcat) 설치

by [김경민]™ ┌(  ̄∇ ̄)┘™ 2013. 5. 27.
728x90

<출처 : http://dynamick-textcube.blogspot.com/2010/11/linuxjava-tomcat.html>


#### JDK(6.22) + Tomcat(7.x) 설치 ####

1. 자바설치
JDK 파일다운(http://java.sun.com)
jdk-6u22-linux-i586.bin

 

프로그램 다운
# wget ftp://****.jdk-6u22-linux-i586.bin

 

퍼미션 변경
# chmod 700 jdk-6u22-linux-i586.bin

 

설치
# ./jdk-6u22-linux-i586.bin

# /usr/local/ 로 이동
-> mv jdk1.6.0_22 /usr/local/

 

환경설정
# vi /etc/profile/

export JAVA_HOME="/usr/local/jdk1.6.0_22”
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

 


2. 톰켓 설치

톰켓 다운
# wget http://mirror.apache-kr.org//tomcat/tomcat-7/v7.0.4-beta/bin/apache-tomcat-7.0.4.tar.gz

 

압축 풀기
# tar zxvfp apache-tomcat-7.0.4.tar.gz

 

# /usr/local/ 로 이동
-> mv apache-tomcat-7.0.4.tar.gz /usr/local/

 

# 환경변수 등록
export CATALINA_HOME ="/usr/local/apache-tomcat-5.5.27”
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib/jsp-

api.jar:$CATALINA_HOME/common/lib/servlet-api.jar

 

3. mod_jk 설치
    http://tomcat.apache.org/download-connectors.cgi 에 접속
    mod_jk.so 또는 tomcat-connectors-1.2.30-src.tar.gz 를 다운로드합니다.
    mod_jk 설치방법에는 두가지 설치방법이 있습니다.
    위 두파일을 가지고 하는건데요 일단 mod_jk.so를 직접 다운로드하여 바로 모듈에 연결시켜보도록 하겠습니다.
    경로는 http://apache.tt.co.kr//tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/
    가시면 현재 설치된 httpd(Apache)버전에 맞는 버전을 다운로드합니다. 위에서 2.2.3을 설치하였으므로
    mod_jk-1.2.30-httpd-2.2.X.so  를 다운로드하여 mod_jk.so 로 이름을 변경합니다.
    # wget http://apache.tt.co.kr//tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/mod_jk-1.2.30-httpd-2.2.X.so
    # mv mod_jk-1.2.30-httpd-2.2.X.so mod_jk.so
    mod_jk.so를 httpd의  module 디렉토리에 복사합니다.
    # cp mod_jk.so /usr/local/apache2/modules/
    또는 
    # cp mod_jk.so /etc/httpd/modules/

    httpd.conf 를 vi편집기를 이용해서 LoadModules 맨 끝 라인에
    LoadModule jk_module modules/mod_jk.so  를 입력해줍니다.

    다음은 tar.gz를 이용한 방법입니다.
    # wget http://mirror.apache-kr.org//tomcat/tomcat-connectors/jk/source/jk-1.2.30/tomcat-connectors-1.2.30-src.tar.gz
    # tar zxvf tomcat-connectors-12.30-src.tar.gz
    # cd tomcat-connectors-12.30-src
   컴파일 바이너리를 이용할 경우 apxs를 이용하는데요 경로는 소스컴파일 하신경우 /usr/local/apache2/apxs 일껍니다.
    # ./configure --with-apxs=/usr/local/apache2/apxs --enable-EAPI
    # make
    # cd apache-2.0
    # ls mod_jk.so
    # cp mod_jk.so /etc/httpd/modules

 

 

4. Apache, Tomcat, mod_jk 환경설정
     4-1. Apache 의 httpd.conf 에 추가

           LoadModule jk_module modules/mod_jk.so
           include conf/mod_jk.conf
           DirectoryIndex index.html index.php index.php3 index.jsp index.html.var
           
           <VirtualHost *:80>
                  ServerAdmin 관리자메일주소
                  DocumentRoot /home/계정명/public_html
                  ServerName 호스트명

                  JkMount /*.jsp ajp13

                  ErrorLog logs/localhost-error_log
                  CustomLog logs/localhost-access_log common
           </VirtualHost>


           - 변경 -------------------------------------------
           User daemon -> nobody 로 변경
           Group daemon -> nobody 로 변경
           ServerName localhost (주석제거)
           <Directory /home/*/public_html> 찾아서 </Directory>까지 주석제거
           AddDefaultCharset UTF-8 -> EUC-KR 로 변경


     4-2. Apache의 mod_jk.conf 에 추가
           <IfModule jk_module>
               JkWorkersFile /etc/httpd/conf/workers.properties
               JkShmFile /etc/httpd/logs/mod_jk.shm
               JkLogFile /etc/httpd/logs/mod_jk.log
               JkLogLevel info
               JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
           </ifModule>

     4-3. Apache의 workers.properties 에 추가
           worker.list=ajp13
           worker.jspLoader.port=8009
           worker.jspLoader.host=localhost
           worker.jspLoader.type=ajp13
           worker.jspLoader.lbfactor=20

     4-4. Tomcat의 server.xml 에 appBase의 경로를 httpd.conf에서 설정한 virtualhost 의 document_root와 동일하게 변경
           <Host name="localhost"  appBase="/home/test/public_html"
            unpackWARs="true" autoDeploy="true">

     4-5. Tomcat의 Root.xml
           톰캣설치디렉토리의 conf/Catalina/localhost에 ROOT.xml 생성 후 아래 내용 추가
           경로를 역시 server.xml과 httpd.conf의 웹루트 경로와 동일하게 정의한다.
           # vi /usr/local/tomcat/conf/Catalina/localhost/ROOT.xml
           <?xml version='1.0' encoding='euc-kr'?>

           <Context crossContext="true" docBase="/home/test/public_html" path="" reloadable="true">
           </Context>

 

 


 

서버가 부팅할 때 tomcat을 자동으로 시작하도록 설정해야 한다. 아래 내용으로 /etc/rc.d/init.d/tomcat 라는 파일을 하나 만들자.

#!/bin/sh
#
#Startup script for Tomcat, the Apache Servlet Engine
#
# chkconfig: - 85 15
# description: Start Tomcat
#
# processname: tomcat
#
# source function library.
. /etc/rc.d/init.d/functions

# set PATH
export CATALINA_HOME=/opt/tomcat
export JRE_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

# See how we were called.
case "$1" in
  start)
  echo -n "Starting tomcat: "
#  daemon $CATALINA_HOME/bin/catalina.sh start
  daemon $CATALINA_HOME/bin/startup.sh
  touch /var/lock/subsys/tomcat
  echo
  ;;
  stop)
  echo -n "Shutting down tomcat: "
#  daemon $CATALINA_HOME/bin/catalina.sh stop
  daemon $CATALINA_HOME/bin/shutdown.sh
  rm -f /var/lock/subsys/tomcat
  echo
  ;;
  restart)
  $0 stop
  sleep 2
  $0 start
  ;;
  *)
  echo "Usage: $0 {start|stop|restart}"
  exit 1
esac
exit 0


스크립트를 작성한 다음에 service에 등록한다.

cd /etc/rc.d/init.d/
chmod 755 tomcat
chkconfig --add tomcat
chkconfig --level 3 tomcat on
chkconfig --level 4 tomcat on
chkconfig --level 5 tomcat on

시작,종료시는 서비스 명령어를 이용하자

service tomcat start
service tomcat stop


728x90

댓글