Tomcat
둘러보기로 가기
검색하러 가기
Apache Tomcat 6.0.16에 대한 전반적인 사항을 정리한다.
Servlet과 JSP를 실행시켜주는 웹 어플리케이션 서버(WAS) 이다.
- 홈페이지 : http://jakarta.apache.org/tomcat/index.html
- 다운로드 : http://tomcat.apache.org/download-60.cgi
- 라이센스 : Apache License, Version 2.0
- 플랫폼 : Windows, Unix
설치 가이드
아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.
설치전 사전 준비 사항
- Java 설치
Apache Tomcat 설치
- http://tomcat.apache.org/download-60.cgi에서 "Windows Service Installer"를 다운로드 한다.
- 다운로드한 설치 프로그램(apache-tomcat-6.0.16.exe)을 실행한다.
- Tomcat의 기본 정보를 읽고 "Next" 버튼을 눌러 설치를 시작한다.
- 라이센스 정보를 읽고 난 후 "I Agree" 버튼을 누른다.
- 모든 컴포넌트를 설치하도록 선택한다.
- 설치할 Tomcat의 디렉토리를 지정한다.
- Tomcat 관리자 아이디와 암호를 지정한다.
- Tomcat에서 사용할 JRE의 디렉토리를 지정하고 "Install" 버튼을 눌러 설치를 시작한다.
- "Finish" 버튼을 눌러 설치를 종료한다.
- 컴퓨터에 Tomcat에서 사용할 환경 변수를 지정한다.
- CATALINA_HOME=d:/OpenBiz/31_application/Tomcat6016
- TOMCAT_HOME=d:/OpenBiz/31_application/Tomcat6016
- CATALINA_OPTS=-Xmx1024m (필요시 설정)
- 바탕화면의 "내 컴퓨터"에서 오른 마우스를 클릭한 후 "속성"을 선택한다. "고급" 탭에서 하단에 있는 "환경 변수" 버튼을 누른다. 위에 명시한 환경 변수를 추가 또는 수정한다.
- %TOMCAT_HOME%/lib/servlet-api.jar 를 %JAVA_HOME%/jre/lib/ext 에 복사 한다.
- %TOMCAT_HOME%/lib/servlet-api.jar 를 %JRE_HOME%/lib/ext 에 복사 한다.
- 윈도우 우측 하단의 붉은 원으로 표시된 것을 더블 클릭하여 "Apache Tomcat Properties" 창을 띄운다.
- "Apache Tomcat Properties" 창에서 "Start"/"Stop" 버튼으로 Tomcat을 시작/종료한다.
- Windows Server 2003에서 Tomcat 서비스가 기동되지 않는 경우의 조치
- Windows Server 2003의 경우 MS의 닷넷 지원 파일에 문제가 있는 것으로 보이며 Tomcat의 서비스가 기동되지 않는 오류가 발생한다.
- 첨부된 zip 파일을 압축 해제하여 msvcr71.dll을 c:/windows/system32/에 복사하고 서버를 리부팅 하세요. (Media:Msvcr71.zip)
방화벽 설정
Apache Tomcat을 외부에서 사용하기 위해서 방화벽에서 8080 port를 사용할 수 있도록 오픈한다.
- "시작" -> "설정" -> "제어판"에서 "Windows 방화벽"을 실행한다.
- "예외" 탭을 선택하여 "포트 추가" 버튼을 클릭한다.
- 방화벽에 Tomcat에서 사용할 다음 포트를 추가한다.
Apache Tomcat 환경 설정
- UTF-8 Charset을 위해 Tomcat의 Java 환경을 설정한다.
- "Apache Tomcat Properties" 창에서 "Java" 탭을 선택한다.
- Java Options에 다음을 추가한다.
-Dfile.encoding=8859_1 -Dfile.client.encoding=8859_1 -Dclient.encoding.override=8859_1
- UTF-8 Charset을 위해 Tomcat 환경을 설정한다.
- %TOMCAT_HOME%/conf/server.xml에서 Connector 정보에 URIEncoding="UTF-8"를 추가한다.
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
설치후 진행 사항
Linux용 설치 가이드
Ubuntu Server에서 Tomcat을 설치한다.
설치전 사전 준비 사항
- JDK 설치
- Apache Http Server 설치, 선택 사항
Tomcat 설치
- Apache Tomcat 6.0.18 설치
apt-get install tomcat6
- 언어(UTF-8) 설정과 보안 설정
vi /etc/tomcat6/server.xml #--- URIEncoding="UTF-8" 추가 <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" /> #--- 주석을 제거하고 URIEncoding="UTF-8" enableLookups="false" 추가 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" enableLookups="false" /> vi /etc/init.d/tomcat6 #--- 다음 라인을 추가 한다. JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=8859_1 -Dfile.client.encoding=8859_1 -Dclient.encoding.override=8859_1" #--- 다음 라인 위에 JAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$JVM_TMP"
- Tomcat 설치 정보
- 설치 폴더 : /usr/share/tomcat6/
- 환경 폴더 : /etc/tomcat6/, /etc/default/tomcat6
- 작업 폴더 : /var/lib/tomcat6/
- 로그 폴더 : /var/lib/tomcat6/logs/, /var/log/tomcat6/
- 캐시 폴더 : /var/cache/tomcat6/
- 기동 종료 : /etc/init.d/tomcat6 restart, start, stop, status
- 서비스 확인 : ps -ef | grep tomcat
- Root 폴더 : /var/lib/tomcat6/webapps/ROOT/
Apache HTTP Server 연계
- Tomcat Connector 1.2.26 설치
apt-get install apache2.2-common apache2-utils apt-get install libapache2-mod-jk a2enmod jk /etc/init.d/apache2 restart
- Tomcat Connector 환경 설정
- vi /etc/apache2/mods-enabled/jk.conf 생성
###ServerName localhost JkWorkersFile /etc/apache2/mods-enabled/workers.properties JkShmFile /var/log/apache2/mod_jk.shm JkLogFile /var/log/apache2/mod_jk.log JkLogLevel debug JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T"
- vi /etc/apache2/mods-enabled/jk_mount.conf 생성
###--- Apache Tomcat에서 처리할 URL 패턴을 등록한다. JkMount /*.jsp worker1 JkMount /servlet/* worker1 ### JkUnMount /servlet/*.gif ajp13_worker
- vi /etc/apache2/mods-enabled/workers.properties 생성
workers.tomcat_home=/usr/share/tomcat6 workers.java_home=/usr/lib/jvm/java-6-sun ps=/ worker.list=worker1 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.type=ajp13 worker.worker1.lbfactor=50 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=60
- vi /etc/apache2/sites-enabled/000-default
#--- Include ... 추가 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www Include /etc/apache2/mods-enabled/jk_mount.conf
- 설치 정보
- 로그 폴더 : /var/log/apache2/mod_jk.log
CentOS용 설치 가이드
Apache Tomcat 설치
- CentOS에 Tomcat 설치
yum install tomcat6 tomcat6-*
- 언어와 UTF-8 설정
- 설치 정보
- 설치 폴더 : /usr/share/tomcat5/
- 실행 파일 : /usr/bin/
- 환경 파일 : /etc/tomcat5/server.xml, /etc/tomcat5/
- Tomcat Root : /usr/share/tomcat5/webapps/ROOT/, ROOT 폴더가 없을 경우 만들어 주세요.
- 기동 종료 : /etc/init.d/tomcat5 start, stop, restart, status 또는 service tomcat5 start, stop, restart
- 서비스 확인 : ps -ef | grep tomcat5 | grep -v grep
- 로그 파일 : /usr/share/tomcat5/logs/
- PID 파일 : /var/run/tomcat5.pid
Tomcat Connectors 설치
사용자 가이드
tomcat6w가 실행되지 않을 때
- Vista에서 tomcat6w가 "unable to open the service tomcat6" 메시지를 표시하며 실행되지 않을 경우, 관리자 권한으로 실행 한다.
관리자 가이드
Tomcat Root 변경
- vi /usr/share/tomcat5/conf/server.xml
- appBase : Tomcat DocumentRoot 폴더명
- Context : 특정 path로 접속할 경우 사용할 폴더명을 지정
<Host name="localhost" appBase="/var/www/html" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> //--- 아래 라인을 추가 <Context path="" docBase="/usr/share/tomcat5/webapps/ROOT" reloadable="true" debug="0" /> <Context path="/balancer" docBase="/usr/share/tomcat5/webapps/balancer" reloadable="true" debug="0" /> <Context path="/jsp-examples" docBase="/usr/share/tomcat5/webapps/jsp-examples" reloadable="true" debug="0" /> <Context path="/servlets-examples" docBase="/usr/share/tomcat5/webapps/servlets-examples" reloadable="true" debug="0" /> <Context path="/tomcat-docs" docBase="/usr/share/tomcat5/webapps/tomcat-docs" reloadable="true" debug="0" /> <Context path="/webdav" docBase="/usr/share/tomcat5/webapps/webdav" reloadable="true" debug="0" />
- Tomcat 재기동
service tomcat5 restart
- Linux의 심볼 링크를 사용하여 폴더명을 변경할 수도 있습니다.
cd /var/www/html ln -s /usr/share/tomcat5/webapps/balancer balancer
이름 기반 가상 호스트
vi /usr/share/tomcat6/conf/server.xml
<Host name="www.jopenbusiness.com" appBase="/cloudnas/www/jopenbusiness/webapps" |
- 참고 문헌
모니터링 및 튜닝
- 참고 문헌