[CentOS 6.5] Tomcat 설치 및 구동

by 조쉬 posted Mar 11, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

Tomcat?


일명 WAS (Web Application Server ) 라고 표현되며, 어려운 말 보다 쉽게 말하자면 브라우저 ( IE, Chrome 등등 ) 에서

사용자의 요청 ( 글쓰기, 게시판 내용 보기 등등 ) 을 받아 처리하는 서버쪽 프로그램으로 보시면 됩니다.


브라우저에서 사용자의 요청을 받고 서버에서 수행을 한 뒤

다시 그 결과를 브라우저로 보내는 역할을 한다는 정도로 이해 하시면 됩니다.


이것은 정말 단순하게 설명 한 것으로 좀 더 정확한 내용을 알고 싶으신 분들은 

http://askcha.tistory.com/entry/%ED%86%B0%EC%BA%A3TOMCAT%EC%9D%B4%EB%9E%80 

URL을 참고 하시거나 구글링을 통해 좀 더 상세한 정보를 얻으실 수 있을 것 같습니다.


  Tomcat 설치 절차


톰캣의 설치절차로는 다운로드, 압축풀기, 위치지정, 심볼릭링크, 환경변수 설정, 구동 순입니다.


  다운로드 


JDK 설치시와 마찬가지로 wget을 이용하여 파일을 다운로드 합니다.

tar.gz 이라는 확장자가 생소 하실 텐데, 리눅스에서 사용하는 압축 파일 입니다.

wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz

[root@localhost ~] # wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz




ls -l 로 다운받은 톰캣 tar.gz 압축 파일을 확인 합니다.

[root@localhost ~]# ls -l

합계 8672

-rw-------. 1 root root    1134 2015-07-03 13:58 anaconda-ks.cfg

-rw-r--r--. 1 root root    8824528 2015-05-08 03:34 apache-tomcat-7.0.62.tar.gz

-rw-r--r--. 1 root root    9040 2015-07-03 13:58 install.log

-rw-r--r--. 1 root root    3161 2015-07-03 13:57 install.log.syslog




  압축 해제 및 설치 


tar.gz 압축파일 해제

tar 명령어의 주요 -옵션입니다.

 -z

압축 / 압축 해제

 -x

tar파일의 묶음 해제 

 -v

진행상황 화면 출력 

 -f

tar 파일의 이름지정 


[root@localhost ~] # tar -zxvf apache-tomcat-7.0.62.tar.gz




압축을 풀고 목록을 확인하니 압축이 풀린 apach-tomcat-7.0.62 디렉토리가 생겼습니다.

[root@localhost ~]# ls -l

합계 13876

-rw-------. 1 root root     1134 2015-07-03 13:58 anaconda-ks.cfg

drwxr-xr-x. 9 root root   4096 2015-07-03 16:13 apache-tomcat-7.0.62

-rw-r--r--. 1 root root     14151680 2015-05-08 03:34 apache-tomcat-7.0.62.tar

-rw-r--r--. 1 root root     9040 2015-07-03 13:58 install.log

-rw-r--r--. 1 root root     3161 2015-07-03 13:57 install.log.syslog




  Tomcat 디렉토리 위치 변경 및 심볼릭 링크 


이제 tomcat이 위치할 디렉토리를 생성후 압축이 풀린 apache-tomcat 디렉토리 이동 및 이동한 디렉토리의 위치로 옮겨 가겠습니다.

[root@localhost ~] # mkdir /usr/local/server

 톰캣이 위치할 server 디렉토리 생성


[root@localhost ~] # rm apache-tomcat-7.0.62.tar

-  톰캣 tar 파일 삭제


[root@localhost ~] # mv apache-tomcat-7.0.62 /usr/local/server

- 톰캣 디렉토리 이동


[root@localhost ~] # cd /usr/local/server

- 자신의 위치를 톰캣 디렉토리가 있는 곳으로 이동




pwd 현재 위치 확인

[root@localhost server] # pwd

/usr/local/server




JDK 설치시와 마찬가지로 심볼릭링크를 걸어 tomcat의 관리를 하겠습니다. ( 심볼릭링크 = 바로가기 로 이해)

[root@localhost server] # ln -s apache-tomcat-7.0.62 tomcat

[root@localhost server] # ls -

합계 4

drwxr-xr-x. 9 root root 4096 2015-07-03 16:13 apache-tomcat-7.0.62

lrwxrwxrwx. 1 root root   20 2015-07-03 17:48 tomcat-> apache-tomcat-7.0.62




  환경변수 설정 


환경변수 설정

[root@localhost server] # vim /etc/profile




추가된 부분

# /etc/profile


# System wide environment and startup programs, for login setup

# Functions and aliases go in /etc/bashrc


# It's NOT a good idea to change this file unless you know what you

# are doing. It's much better to create a custom.sh shell script in

# /etc/profile.d/ to make custom changes to your environment, as this

# will prevent the need for merging in future updates.


JAVA_HOME=/usr/local/java

CATALINA_HOME=/usr/local/server/tomcat

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib-jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar

PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

export JAVA_HOME CLASSPATH PATH CATALINA_HOME


pathmunge () {

    case ":${PATH}:" in

        *:"$1":*)

            ;;

        *)

            if [ "$2" = "after" ] ; then

                PATH=$PATH:$1

            else

                PATH=$1:$PATH

            fi

    esac

}

(....생략)




환경변수 수정사항 적용을 합니다.

[root@localhost local] # source /etc/profile




톰캣을 구동하기위해 방화벽 설정을 변경 합니다.

톰캣의 Default 포트인 8080 포트 방화벽 해제

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT




톰캣 서버 기동 / 중지 

[root@localhost ~] # /usr/local/server/tomcat/bin/shutdown.sh

- 톰캣 서버 기동

[root@localhost ~] # /usr/local/server/tomcat/bin/shutdown.sh

- 톰캣 서버 중지 




  부팅 시 Tomcat 자동실행 환경 설정 


이제 모든 설치가 끝나고 구동도 확인해 봤으니, 부팅시 자동으로 톰캣이 실행될수 있는 환경을 설정 하겠습니다.

먼저 아래 경로의 tomcat의 실행 스크립트를 작성할 tomcat 파일을 생성 합니다.

[root@localhost ~] # vim /etc/rc.d/init.d/tomcat

- tomcat 실행 스크립트가 들어갈 파일 -> tomcat




자신의 톰캣이 깔려있는 경로를 잘 확인 해 주시고 변경할 곳이 있으시면 변경하시면 됩니다.

#!/bin/sh

 # chkconfig: 345 90 90

 # description: init file for tomcat

 # processname: tomcat


 # Get Config

 [ -f /usr/local/server/tomcat/conf/server.xml ] && [ -f /usr/local/server/tomcat/conf/web.xml ] || exit 0


 source /etc/profile


 # Source function library

 . /etc/rc.d/init.d/functions


 # caution :

 #           variable=<value> space between variable and value is not allowed

 RETVAL=0

 prog=tomcatd


 # Start function

 start()

 {

   echo -n "Starting $prog : "

   daemon $CATALINA_HOME/bin/startup.sh

   RETVAL=$?

   echo

   touch /var/lock/subsys/tomcat

   return $RETVAL

 }


 # Stop fucntion

 stop()

 {

   echo -n "Stopping $prog : "

   daemon $CATALINA_HOME/bin/shutdown.sh

   RETVAL=$?

   echo

   rm -f /var/lock/subsys/tomcat

   return $RETVAL

 }


 # Restart function

 restart()

 {

   stop

   start

 }


 # See how we were called

 case "$1" in

      start)

            start

            ;;

      stop)

            stop

            ;;

      restart)

            restart

            ;;

      *)

            echo $"Usage : $0 {start|stop|restart}"

 esac


 exit $RETVAL


"etc/rc.d/init.d/tomcat" 66L, 1216C




스크립트를 작성후 저장후 종료, 구동 테스트를 해봅니다.

[root@localhost ~] # /etc/rc.d/init.d/tomcatd start

[root@localhost ~] # /etc/rc.d/init.d/tomcatd restart

[root@localhost ~] # /etc/rc.d/init.d/tomcatd stop




구동, 재시작, 정지 모두 테스트해서 문제가 발생하지 않는다면 chkconfig 등록을 해 줍니다.

--list로 확인 시 3 4 5 번이 모두 활성화 되어 있는지 확인 후 reboot

[root@localhost ~] # chkconfig --add tomcat

[root@localhost ~] # chkconfig --list tomcat

tomcat         0:해제 1:해제 2:해제 3:활성 4:활성 5:활성 6:해제

[root@localhost ~] # reboot


위에 --list 로 확인결과 활성이 되어 있지 않을때는 

[root@localhost ~] # chkconfig --level 345 tomcat on 

을 해주고 다시 --list로 활성화 되어있는지 확인 합니다.




8080 포트가 정상으로 열려 있는지 확인 합니다.

[root@localhost ~] # netstat -ntl 

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State      

tcp        0      0              0.0.0.0:22                      0.0.0.0:*                         LISTEN      

tcp        0      0              127.0.0.1:25                  0.0.0.0:*                         LISTEN      

tcp        0      0              ::ffff:127.0.0.1:8005       :::*                                  LISTEN      

tcp        0      0              :::8009                           :::*                                  LISTEN      

tcp        0      0              :::8080                           :::*                                  LISTEN      

tcp        0      0              :::22                               :::*                                  LISTEN      

tcp        0      0              ::1:25                             :::*                                  LISTEN      





localhost:8080 로 확인해보니 정상적으로 톰캣이 구동 되었습니다.