CentOS에서 Apache Tomcat 설치하기

2017.01.18 17:20

졸리운_곰 조회 수:490

CentOS에서 Apache Tomcat 설치하기

개요

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-sizemax-request-size 엘러먼트의 값을 수정하면 된다. 값의 단위는 byte이다.

Apache Tomcat 서비스 시작하기

$ $CATALINA_HOME/bin/startup.sh
  • Apache Tomcat 서비스를 시작한다. http://localhost:8080/ 주소로 접속하여 서비스가 정상적으로 실행되고 있는지 확인한다.

참고 글

 



출처: http://jsonobject.tistory.com/194 [지단로보트의 블로그]

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
26 [bootstrap] spring 프로젝트에 bootstrap 적용 file 졸리운_곰 2017.01.29 164
25 eGov 표준프레임워크(전자정부프레임워크) 공통 컴포넌트 사용법 : Common Component file 졸리운_곰 2017.01.29 1030
24 Passing Javascript object and object list to Spring controller 졸리운_곰 2017.01.23 92
23 뷰에 모델(Model) 전달 file 졸리운_곰 2017.01.22 128
» CentOS에서 Apache Tomcat 설치하기 졸리운_곰 2017.01.18 490
21 Spring MVC Tiles Plugin with Example file 졸리운_곰 2017.01.15 1384
20 Spring MVC Tiles 3 Integration Tutorial file 졸리운_곰 2017.01.15 173
19 Spring 3 MVC: Tiles Plugin Tutorial with Example in Eclipse file 졸리운_곰 2017.01.15 194
18 MyBatis 에서 한 insert 태그로 여러 Insert문 수행 졸리운_곰 2016.12.09 112
17 Web App Architecture - the Spring MVC - AngularJs stack file 졸리운_곰 2016.11.20 208
16 Introduction to Angular 2 with Spring MVC file 졸리운_곰 2016.11.20 676
15 Migrating a Spring Web MVC application from JSP to AngularJS file 졸리운_곰 2016.11.20 114
14 스프링(Spring) MVC 프레임워크(Model View Controller Framework) file 졸리운_곰 2016.11.16 151
13 JSP 정리 졸리운_곰 2016.09.11 332
12 JSP 요약 정리 file 졸리운_곰 2016.09.11 1294
11 전자정부 eGov 프레임워크 모바일 실행환경 Upgrade 가이드 file 졸리운_곰 2016.08.02 327
10 전자정부 eGov 프레임워크 개발프레임워크 개발환경 졸리운_곰 2016.08.02 474
9 표준프레임워크 실행환경 3.5 졸리운_곰 2016.08.02 172
8 전자정부 표준프레임워크 3.5 기반 개발 시작하기(Getting Started) file 졸리운_곰 2016.08.02 291
7 스프링(Spring) MVC 프레임워크(Model View Controller Framework) file 졸리운_곰 2016.07.31 103
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED