You cannot see this page without javascript.

CentOS 6.5에 JSP를 위한 JDK & Tomcat

Linux 조회 수 490 추천 수 0 2014.07.05 15:49:31

JDK 다운로드 & 설치


계정은 기본적으로 슈퍼유저의 권한을 가진 root 계정으로 진행하며 우선 jdk와 tomcat의 설치파일을 다운받을 디렉토리를 생성합니다.

 

# cd /usr/local/src

# mkdir tomcat

001.png

 

 

 

 

JavaSE JDK 설치파일 홈페이지(오라클)

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

먼저 JDK부터 설치하도록 합시다. 오라클 홈페이지에서 JDK 설치 파일을 다운 받습니다. rpm 확장자를 가진 패키지 설치 파일과 tar.gz 확장자를 가진 압축파일 두가지가 제공됩니다. 저는 압축파일로 설치할 것이므로 tar.gz 파일을 선택합니다. 또한 CentOS 6.5 리눅스 32비트 버전이므로 jdk-8-linux-i586.tar.gz 파일을 받겠습니다. 64비트 버전이라면 해당 버전에 맞는 파일을 받으시면 됩니다.

002.png

 

 

 

 

다운받는 방법은 wget, ftp 등 여러가지가 있겠지만 저는 윈도우에서 다운받은 후 rz 명령어로 리눅스로 옮겼습니다. 설치파일이 tar, gz으로 압축되어 있으니 풀어줍시다.

 

# gunzip jdk-8-linux-i586.tar.gz

# tar -xvf jdk-8-linux-i586.tar

003.png

 

 

 

 

압축을 풀면 jdk1.8.0 디렉토리가 생성됩니다.

004.png

 

 

 

 

생성된 jdk1.8.0 디렉토리를 /usr/local 디렉토리로 이동시킵시다. 그리고 심볼릭 링크 파일을 만들어줍니다. 심볼릭 링크를 만드는 이유는 여러가지가 있겠지만 나중에 JDK 버전이 업데이트 됬을 시 환경 설정을 변경하지 않고 심볼릭 링크의 내용만 수정해 주면 된답니다.

 

# mv jdk1.8.0 /usr/local

# cd /usr/local

# ln -s jdk1.8.0 java

005.png

 

 

 

 

/usr/local 디렉토리로 jdk1.8.0 디렉토리가 이동했고 java란 심볼릭 링크가 생성된걸 확인해줍시다.

 

이제 명령어를 사용하기 /etc/profile의 내용을 수정합시다. vim 에디터를 열어 상단에 다음 내용을 추가합니다.

 

# vi /etc/profile

 

JAVA_HOME=/usr/local/java

CLASSPATH=.:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

006.png

 

 

 

 

리눅스에 기본적으로 설정된 java 명령어 위치의 인식을 피하기 위해 /usr/bin 디렉토리의 java 파일 이름을 바꿔줍시다. 그 후 source 명령어를 사용해 /etc/profile의 내용을 현제 쉘에 적용시킵니다. 그리고 java, javac 명령어로 버전을 확인해서 설치된 버전이 출력되면 제대로 설치 된겁니다.

 

# mv /usr/bin/java /usr/bin/java-old

# source /etc/profile

# java -version

# javac -version

007.png

 

 

 

 

JDK를 설치하는 이유는 JSP 서비스를 구동해주는 톰캣에서 JDK를 사용해 클래스를 컴파일하기 때문입니다.

  

Apache Tomcat 8 다운로드 & 설치

 

기본적으로 슈퍼유저의 권한을 가진 root 계정으로 진행되며 사전에 JDK가 설치되어 있어야 합니다.

 

다운로드 디렉토리로 이동합시다.

# cd /usr/src

008.png

 

 

 

 

Tomcat 8을 설치하기 위해 아파치 톰캣 사이트로 이동해 톰캣 압축파일을 받읍시다.

 

Apache Tomcat 설치파일 홈페이지(오라클) :

http://tomcat.apache.org/download-80.cgi

Apache Tomcat 8.0.5 tar.gz 파일 url :

http://mirror.apache-kr.org/tomcat/tomcat-8/v8.0.5/bin/apache-tomcat-8.0.5.tar.gz

 

이번에는 JDK 설치 때와는 다르게 wget 명령어를 통해 파일을 다운 받겠습니다. wget 명령어 뒤의 인자로 위 tar.gz 압축파일 url을 입력하시면 됩니다.

 

# wget http://mirror.apache-kr.org/tomcat/tomcat-8/v8.0.5/bin/apache-tomcat-8.0.5.tar.gz

009.png

 

 

 

 

JDK를 설치했을 때와 마찬가지로 gunzip과 tar 명령어로 압축을 풀어줍니다.

 

# gunzip apache-tomcat-8.0.5.tar.gz

# tar -xvf apache-tomcat-8.0.5.tar.gz

010.png

 

 

 

 

압축이 해제되었으면 apache-tomcat-8.0.5 라는 디렉토리가 생성됩니다. 이 디렉토리를 /usr/local/server 디렉토리를 생성하고 이곳으로 옮깁니다. 그 후 JDK 설치 때와 마찬가지로 심볼릭 링크 파일을 생성해 줍니다.

 

# mkdir /usr/local/server

# mv apache-tomcat-8.0.5 /usr/local/server

# cd /usr/local/server

# ln -s apache-tomcat-8.0.5 tomcat

011.png

 

 

 

 

vim 에디터를 열어 JDK를 설치하고 /etc/profile에 추가했던 내용을 수정합니다.

 

# vi /etc/profile

 

(굵음/파란 글씨가 JDK 설치 후 추가한 내용에서 더 추가된 부분)

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

012.png

 

 

 

 

수정 후 source 명령어를 사용해 /etc/profile의 내용을 현제 쉘에 적용시킵니다. 그리고 톰캣 서버 시작 스크립트를 실행 시킵니다. 스크립트 실행 후 마지막 줄에 Tomcat started 메시지가 출력되면 정상적으로 구동이 된 겁니다.

 

# source /etc/profile

# /usr/local/server/tomcat/bin/startup.sh (톰캣 서버 시작)

(톰캣 서버 중지는 /usr/local/server/tomcat/bin/shutdown.sh)

013.png

 

 

 

 

Apache Tomcat 8 서비스 구동을 위한 8080 포트 방화벽 해제

 

톰캣 서버는 기본 값으로 8080 포트를 사용합니다. 리눅스에는 기본으로 허가되지 않은 포트를 통해 들어오는 접속이 차단되는 방화벽이 작동합니다. 이를 피하기 위해서는 방화벽을 중지하거나 8080 포트를 허가해 주어야합니다. 여기서는 방화벽에서 8080 포트를 열어주는 설정을 추가해보겠습니다.

 

# /etc/init.d/iptables stop (현재 방화벽 가동 중지)

014.png

 

 

 

 

그리고 /etc/sysconfig/iptables를 vim 에디터로 수정합시다.

 

# vi /etc/sysconfig/iptables

015.png

 

 

 

 

위 스크린샷에서 블록 지정된 부분을 추가하시면 됩니다.

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

 

저장 후 방화벽을 다시 가동한 후 방화벽 상태를 확인하면 8080 포트가 열린 것을 확인할 수 있으며 netstat -ntl 명령어로 8080 포트 부분이 LISTEN 상태면 설정이 제대로 된 것입니다.

 

# /etc/init.d/iptables start

# /etc/init.d/iptables status

# netstat -ntl

016.png

 

 

 

 

이제 해당 리눅스의 IP 번호에 포트번호를 줘서 웹 브라우저로 접속해 봅시다. 다음과 같은 tomcat 초기 페이지가 뜬다면 톰캣 서버가 정상적으로 구동 중이며 중간 메뉴 중 Examples로 들어가 Servlets Examples와 JSP Examples를 통해 테스트 할 수 있습니다. Tomcat 8부터는 WebSocket이 지원되서 WebSocket Examples도 있네요.

017.png

 

 

 

 

Apache Tomcat 8 서비스를 부팅시 자동으로 서비스로 등록


마지막으로 리눅스 부팅시 자동으로 톰캣 서비스를 시작하도록 설정해 보겠습니다. 톰캣 서버 bin 디렉토리에 catalina.sh 파일이 있는데 이 파일을 /etc/init.d 디렉토리에 tomcat이라는 이름을 가진 파일로 복사 후, vim 에디터로 수정해 시작 스크립트로 만들어 봅시다.

 

# cp /usr/local/server/tomcat/bin/catalina.sh /etc/init.d/tomcat

# vi /etc/init.d/tomcat

 

vim 에디터로 파일을 열었으면 파일 상단에 블록 지정된 부분을 추가합니다. 리눅스가 시작될 때 런레벨 3(텍스트 모드 - 서버용)과 런레벨5(GUI 모드 - 데스크탑)에서 서비스를 시작하겠다는 의미의 주석입니다.(반드시 하지 않아도 됨)

018.png

 

 

 

 

수정을 마치고 chkconfig 명령어로 시작 스크립트를 추가한 후 list 옵션으로 제대로 구동 중인지 확인합니다.

 

# chkconfig --add tomcat

# chkconfig --list tomcat

019.png

 

 

 

 

위와 같이 설정이 잘 되었으면 이제부터 리눅스가 부팅될 때마다 자동으로 톰캣 서버 서비스가 올라옵니다. 그리고 다음과 같은 명령어로 톰캣 서버를 시작하고 종료할 수 있습니다.

 

톰캣 서버 시작 : /etc/init.d/tomcat start

톰캣 서버 종료 : /etc/init.d/tomcat stop

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

chown -R daemon:daemon /apm/server/tomcat

vi /etc/systemd/system/tomcat.service

 

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

 

[Service]
Type=forking

Environment=JAVA_HOME=/apm/server/java
Environment=CATALINA_PID=/apm/server/tomcat/tomcat.pid
Environment=CATALINA_HOME=/apm/server/tomcat
Environment=CATALINA_BASE=/apm/server/tomcat
#Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
#Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

 

ExecStart=/apm/server/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

 

User=daemon
Group=daemon
UMask=0007
RestartSec=10
Restart=always

 

[Install]
WantedBy=multi-user.target

 

 

 

List of Articles
번호 제목 글쓴이 날짜 조회 수
369 APM mariadb download origin address LynX 2019-06-19 1990
368 APM What one can and should optimize LynX 2019-06-03 1416
367 CentOS mariadb install LynX 2019-05-31 1180
366 CentOS init mode change LynX 2019-05-30 1289
365 APM ext zip install LynX 2019-02-19 1613
364 APM ext ImageMagick install LynX 2019-02-19 511
363 3D Printer Pronterface(PrintRun) install file LynX 2018-09-13 753
362 CentOS Grub UUID change LynX 2018-08-08 867
361 Linux letsencrypt wildcard LynX 2018-07-26 798
360 Printer cura usb connection LynX 2018-07-06 666
359 CentOS cli 무선랜 LynX 2018-06-07 446
358 APM 윈도우에 APM 페키지 설치 file LynX 2018-05-04 586
357 APM MySQLTuner 설치 LynX 2018-04-27 544
356 CentOS CentOS7 커널 업데이트 LynX 2018-04-23 699
355 HTML Tag CSS 여러가지 모양 만들기 LynX 2018-02-08 771
354 Linux wkhtmltopdf wkhtmltoimage install LynX 2018-01-31 602
353 APM LZ4_LIBS Not Found (CentOS7, MariaDB 10.1.29) LynX 2018-01-03 485
352 APM mysql ./configure LynX 2017-12-15 804
351 APM PHP-7.2.0 LynX 2017-12-12 3157
350 Linux libiconv LynX 2017-12-08 558

XE Login