티스토리 뷰

반응형



리눅스에 JDK와 Tomcat을 설치해 JSP 서비스가 가능하도록 만들어 보겠습니다. 이번학기 수강하는 '객체지향 패러다임' 수업에서는 Windows에서 Tomcat Server를 구동해서 실습하지만 저는 리눅스를 좋아하니깐? 리눅스에 설치하겠습니다. (죄송합니다 교수님) 운영체제는 CentOS Linux 6.5 배포판이며 JDK와 Tomcat의 버전은 2014. 04. 10 기준 최신버전인 JDK 1.8.0, Tomcat 8.0.5를 설치하겠습니다.




Apache Tomcat 8 다운로드 & 설치


기본적으로 슈퍼유저의 권한을 가진 root 계정으로 진행되며 사전에 JDK가 설치되어 있어야 합니다. JDK 설치에 대해서는 이전 포스팅을 참고하시길.

2014/04/10 - CentOS 6.5 리눅스에 JSP 서비스를 위한 JDK 설치하기


JDK를 설치할 때 생성했던 /usr/local/src/tomcat 디렉토리로 이동합시다.

# cd /usr/local/src/tomcat


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


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


# gunzip apache-tomcat-8.0.5.tar.gz

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


압축이 해제되었으면 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


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


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


# source /etc/profile

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

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




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


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


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


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


# vi /etc/sysconfig/iptables


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

-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


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




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 모드 - 데스크탑)에서 서비스를 시작하겠다는 의미의 주석입니다.(반드시 하지 않아도 됨)


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


# chkconfig --add tomcat

# chkconfig --list tomcat


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


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

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



다음 포스팅에서는 톰캣 서버 관리자를 추가해보도록 하겠습니다.


참고도서 : 김태용의 JSP 웹프로그래밍


김태용의 JSP 웹 프로그래밍 입문

저자
김태용 지음
출판사
제이펍 | 2011-01-08 출간
카테고리
컴퓨터/IT
책소개
최근의 인터넷 분야에서는 여러 종류의 웹 애플리케이션들이 탄생되...
가격비교


반응형
프로필사진

Yowu (Yu Yongwoo)

흔한 Node.js/Java 백엔드 개발자입니다
Ubuntu와 MacOS 데스크탑 개발 환경을 선호합니다
최근에는 vscode와 IntelliJ를 사용하고 있습니다
vscode에는 neovim, IntelliJ는 ideaVim
개발용 키보드는 역시 HHKB Pro 2 무각입니다
락 밴드에서 드럼을 쳤습니다

최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
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
글 보관함
Total
Today
Yesterday