티스토리 뷰
개요
Apache Tomcat은 Java EE 스펙의 부분 구현체로 소규모 웹사이트부터 엔터프라이즈 웹 애플리케이션까지 광범위하게 사용되는 가볍고 빠른 성능의 오픈 소스 웹 컨테이너이다. 이번 글에서는 CentOS 6에서 Apache Tomcat 8을 설치하고 실행하는 과정을 설명해보고자 한다.
방화벽 허용하기
$ vi /etc/sysconfig/iptables
iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT
$ service iptables restart
- Apache Tomcat의 기본 서비스 포트는 8080이다. 해당 포트를 방화벽에서 허용하도록 설정한 후 방화벽을 재시작한다.
사용자 계정 생성하기
$ groupadd tomcat
$ useradd -g tomcat tomcat
$ passwd tomcat
- root 계정으로 Apache Tomcat을 바로 실행하는 것은 보안상 피해야 한다. 설치에 앞서 Tomcat을 관리하기 위한 tomcat이라는 이름의 그룹 및 사용자 계정을 새로 생성한다.
JDK 설치하기
$ su - tomcat
$ wget http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz
$ tar -zxvf jdk-7u71-linux-x64.tar.gz
$ rm jdk-7u71-linux-x64.tar.gz
$ ln -s jdk1.7.0_71 jdk
- Apache Tomcat은 Java에 종속적이다. CentOS는 yum을 이용하여 손쉽게 OpenJDK를 설치할 수 있다. 만약 시스템에 설치된 JDK에 영향을 주지 않으면서 현재 사용자 계정에서만 다른 버전의 JDK를 사용하고자 한다면 위와 같이 직접 다운로드하는 방법을 추천한다. 앞서 생성한 tomcat 사용자로 로그인하여 다운로드 및 압축 해제 후 JDK에 대한 심볼릭 링크를 생성한다.
Apache Tomcat 다운로드 및 설치하기
$ wget http://apache.tt.co.kr/tomcat/tomcat-8/v8.0.15/bin/apache-tomcat-8.0.15.tar.gz
$ tar -zxvf apache-tomcat-8.0.15.tar.gz
$ rm apache-tomcat-8.0.15.tar.gz
$ ln -s apache-tomcat-8.0.15 tomcat
- Apache Tomcat을 다운로드한다. 여기서는 공식 홈페이지 상의 8.0.15 버전의 tar.gz 파일 링크를 그대로 다운로드 후 압축을 해제한다.
- 추후 관리의 편의를 위해 tomcat이란 이름으로 압축 해제된 디렉토리를 바라보는 심볼릭 링크를 생성한다.
환경변수 및 인코딩 설정하기
$ vi $HOME/.bashrc
export PATH="$HOME/jdk/bin:$HOME/tomcat/bin:$PATH"
export JAVA_HOME="$HOME/jdk"
export JRE_HOME="$HOME/jdk/jre"
export CATALINA_HOME="$HOME/tomcat"
export CATALINA_OPTS="-server -Xms256m -Xmx256m"
$ vi $CATALINA_HOME/conf/server.xml
<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"/>
- 설치한 Apache Tomcat 8이 JDK 7을 기반으로 실행한다는 것을 명시하기 위해 tomcat 사용자의 홈 디렉토리의 .bashrc 파일을 열고 가장 마지막에 위와 같이 환경변수를 추가한다.
- CATALINA_OPTS의 -Xms, -Xmx 옵션은 Tomcat에서 가용할 수 있는 Heap Size의 최소, 최대 크기를 의미한다. 시스템의 쓰임새와 메모리 용량을 고려하여 적절한 값을 설정한다. Heap Size가 초과되면 java.lang.OutOfMemoryError: Java heap space 오류가 발생한다.
- URIEncoding 옵션을 별도로 지정하지 않으면 Apache Tomcat은 기본 캐릭터셋으로 서블릿 스펙에 명시된 ISO-8859-1을 사용한다. ISO-8859-1은 대부분의 서유럽 언어만을 수용하기 때문에 요청 URI에 한글이 포함되면 깨져버린다. URIEncoding을 UTF-8로 지정해야 HTTP Request시 한글 파라메터가 깨지지 않고 온전히 서버로 전달된다.
Apache Tomcat Manager 접근 권한 부여하기
$ vi $CATALINA_HOME/conf/tomcat-users.xml
<tomcat-users>
<role rolename="manager-gui"/>
<user username="$USERNAME" password="$PASSWORD" roles="manager-gui"/>
</tomcat-users>
$ vi $CATALINA_HOME/webapps/manager/WEB-INF/web.xml
<multipart-config>
<max-file-size>104857600</max-file-size>
<max-request-size>104857600</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
- Apache Tomcat Manager는 웹으로 애플리케이션을 배포하고 관리할 수 있는 도구이다. 접근 권한을 가진 사용자 계정을 생성하면 http://localhost:8080/manager/html 주소를 실행하여 원격 관리가 가능하다.
- Apache Tomcat Manager 또한 Apache Tomcat에 의해 실행되는 Java Web Application이다. 배포를 위한 .war 업로드시 최대 파일 크기가 50MB로 제한되어 있는데 크기를 늘리려면 위와 같이 web.xml의 max-file-size, max-request-size 엘러먼트의 값을 수정하면 된다. 값의 단위는 byte이다.
Apache Tomcat 서비스 시작하기
$ $CATALINA_HOME/bin/startup.sh
- Apache Tomcat 서비스를 시작한다. http://localhost:8080/ 주소로 접속하여 서비스가 정상적으로 실행되고 있는지 확인한다.
참고 글
- Install Tomcat 7 on CentOS, RHEL, or Fedora
- A Guide To Apache Tomcat Linux Installation and Set-Up
- Compressing content in Tomcat
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Eclipse
- jpa
- Kendo UI Web Grid
- java
- jstl
- CentOS
- Tomcat
- jsp
- Spring Boot
- kotlin
- DynamoDB
- 구동계
- 자전거
- JavaScript
- maven
- 알뜰폰
- 로드 바이크
- chrome
- Kendo UI
- spring
- graylog
- MySQL
- 태그를 입력해 주세요.
- bootstrap
- node.js
- 로드바이크
- Docker
- 평속
- JHipster
- Spring MVC 3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함