본문 바로가기

Development/Java

CentOS + JAVA + Tomcat 설치

[root@wikibooks01 ~]# cd /usr/local/


# iptables 방화벽 필터 적용

[root@wikibooks01 ~]# vi /etc/sysconfig/iptables

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


[root@wikibooks01 ~]# /etc/init.d/iptables restart


# port listen 확인

[root@wikibooks01 ~]# netstat -etl

Active Internet connections (only servers)

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

tcp        0      0 *:ssh                       *:*                         LISTEN      root       11089      

tcp        0      0 localhost:smtp              *:*                         LISTEN      root       11292      

tcp        0      0 *:ssh                       *:*                         LISTEN      root       11101      

tcp        0      0 localhost:smtp              *:*                         LISTEN      root       11294      

tcp        0      0 localhost:mxi               *:*                         LISTEN      tomcat     13796      

tcp        0      0 *:8009                      *:*                         LISTEN      tomcat     13781      

tcp        0      0 *:webcache                  *:*                         LISTEN      tomcat     13777


[root@wikibooks01 ~]# /etc/init.d/iptables status

테이블: filter

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination         

1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 

2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           

3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 

5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8080 

6    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 


Chain FORWARD (policy ACCEPT)

num  target     prot opt source               destination         

1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 


Chain OUTPUT (policy ACCEPT)

num  target     prot opt source               destination


# tomcat 계정추가

[root@wikibooks01 local]# useradd tomcat


# tomcat 비번설정

[root@wikibooks01 ~]# passwd tomcat


# tomcat 계정 변경

[root@wikibooks01 ~]# su - tomcat


# tomcat 설치

[tomcat@wikibooks01 ~]$ cd /usr/local/

[tomcat@wikibooks01 local]# mkdir tomcat

[tomcat@wikibooks01 local]# cd tomcat/

[tomcat@wikibooks01 tomcat]# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz


# 압축해제

[tomcat@wikibooks01 tomcat]$ tar -xvzf ./apache-tomcat-8.0.32.tar.gz

[tomcat@wikibooks01 tomcat]$ ln -s apache-tomcat-8.0.32 ./tomcat8


# 환경변수 설정

[tomcat@wikibooks01 ~]$ cd

[tomcat@wikibooks01 ~]$ vi .bashrc

export CATALINA_HOME="/usr/local/tomcat/tomcat8"

export CATALINA_OPTS="-server -Xms256m -Xmx256m"


  • CATALINA_OPTS의 -Xms, -Xmx 옵션은 Tomcat에서 가용할 수 있는 Heap Size의 최소, 최대 크기를 의미한다. 시스템의 쓰임새와 메모리 용량을 고려하여 적절한 값을 설정한다. Heap Size가 초과되면 java.lang.OutOfMemoryError: Java heap space 오류가 발생한다.


# 인코딩 설정

[tomcat@wikibooks01 ~]$ vi /usr/local/tomcat/tomcat8/conf/server.xml

<Connector executor="tomcatThreadPool" 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" />


  • URIEncoding 옵션을 별도로 지정하지 않으면 Apache Tomcat은 기본 캐릭터셋으로 서블릿 스펙에 명시된 ISO-8859-1을 사용한다. ISO-8859-1은 대부분의 서유럽 언어만을 수용하기 때문에 요청 URI에 한글이 포함되면 깨져버린다. URIEncodingUTF-8로 지정해야 HTTP Request시 한글 파라메터가 깨지지 않고 온전히 서버로 전달된다.

# Apache Tomcat Manager 접근 권한 부여

[tomcat@wikibooks01 ~]$ vi /usr/local/tomcat/tomcat8/conf/tomcat-users.xml

<role rolename="manager-gui"/>

<user username="$USERNAME" password="$PASSWORD" roles="manager-gui"/>


  • Apache Tomcat Manager는 웹으로 애플리케이션을 배포하고 관리할 수 있는 도구이다. 접근 권한을 가진 사용자 계정을 생성하면 http://localhost:8080/manager/html 주소를 실행하여 원격 관리가 가능하다.

[tomcat@wikibooks01 ~]$ vi /usr/local/tomcat/tomcat8/webapps/manager/WEB-INF/web.xml

<max-file-size>104857600</max-file-size>

<max-request-size>104857600</max-request-size>

<file-size-threshold>0</file-size-threshold>


  • Apache Tomcat Manager 또한 Apache Tomcat에 의해 실행되는 Java Web Application이다. 배포를 위한 .war 업로드시 최대 파일 크기가 50MB로 제한되어 있는데 크기를 늘리려면 위와 같이 web.xml의 max-file-sizemax-request-size 엘러먼트의 값을 수정하면 된다. 값의 단위는 byte이다.


'Development > Java' 카테고리의 다른 글

Gson - JSON <-> Object 상호변환  (0) 2016.11.15
log4j2 설정  (0) 2016.11.05
eGov 개발을 위한 초기 세팅  (0) 2016.03.18
[egov / spring / maven] 개발시 오류 대처  (0) 2016.03.04
JDK vs JRE vs JVM  (1) 2016.03.03