티스토리 뷰

반응형



리눅스에 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 무각입니다
락 밴드에서 드럼을 쳤습니다

  • 프로필사진 비밀댓글입니다 2014.06.10 16:23
  • 프로필사진 BlogIcon 김재민 CATALINA_HOME=/usr/server/tomcat
    에서
    CATALINA_HOME=/usr/local/server/tomcat
    로 적용해주셔야 합니다~
    2014.07.03 02:38
  • 프로필사진 BlogIcon Yowu 허허;; 그렇네요. 지적 감사합니다. 2014.07.04 03:08 신고
  • 프로필사진 Jeon CentOS 7 버전에서 방화벽이 바뀌었던데 7버전에서 사용하는법좀 알려주실수 있나요? 2014.08.20 10:17
  • 프로필사진 BlogIcon Yowu csf 라는게 centos7 에 추가되었나 봅니다.
    http://acidpop.tistory.com/148
    해당 포스팅 확인해보시구 설정해보세요.
    2014.08.21 04:59 신고
  • 프로필사진 Jeon 저번 답변 감사합니다.
    /etc/init.d/iptables status 명령으로 8080포트가 추가된것까지 확인을 하고,
    iptables을 restart까지 하였습니다.
    그러나 netstat -ntl 명령어를 실행하면 Listen상태가 안되는데......어떻게 해야 할까요?
    2014.08.25 15:00
  • 프로필사진 BlogIcon Yowu 방화벽이 열린상태에서 해당 데몬을 실행시켜보세요
    예를 들어 8080열린상태에서 8080을 사용하는 톰캣 데몬을 start 하고 running 상태로 들어가면 그때부터 netstat -ntl 로 확인할 수 있으실 겁니다.
    2014.08.25 21:08 신고
  • 프로필사진 잘봤습니다. 잘봤습니다. 2014.09.04 14:59
  • 프로필사진 비밀댓글입니다 2014.09.05 12:13
  • 프로필사진 BlogIcon Yowu bean.class 라는 JAVA 내장 클래스는 없는 듯하니..
    아마 bean 이라는 객체를 생성할 때 사용되는 클래스를 찾아 라이브러리에 포함하시거나 해당 클래스의 용도를 아신다면 컴파일 하셔야할 것같습니다. 추측하건데 jsp의 JavaBeans와 관련된 클래스 같네요 ㅜㅜ
    2014.09.07 23:40 신고
  • 프로필사진 siknd 다 똑같이 따라했는데..
    그리고 다 정상이긴한데..
    부팅후 서비스가 자동으로 실행되지 않습니다.
    /etc/init.d/tomcat start 해줘야 시작합니다..
    뭐가 잘못된걸까요..
    2014.09.23 11:27
  • 프로필사진 BlogIcon Yowu 자도 방금 부팅시 자동실행이 되지 않는 현상을 확인했습니다.
    http://lanplaza.net/?doc=bbs/gnuboard.php&bo_table=tip&page=3&wr_id=13
    링크를 참고하여 설정해보시기 바랍니다.
    2014.09.23 16:07 신고
  • 프로필사진 비밀댓글입니다 2014.12.12 11:15
  • 프로필사진 BlogIcon Yowu 흠.. 제가 직접 이클립스에서 연동해본 적은 없지만 이클립스에서 SSH 연결로 작성한 파일을 바로 업로드 하는 것은 본적이 있는 것 같습니다. 저는 vim 사용자라 ㅜㅜ 죄송합니다.

    그 외에는 이클립스에서의 jsp 개발 디렉토리 구조와 리눅스 tomcat 디렉토리 구조가 달라 어떻게 되는지 잘 모르겠네요 ㅜㅜ.
    2014.12.12 11:50 신고
  • 프로필사진 비밀댓글입니다 2014.12.12 16:52
  • 프로필사진 BlogIcon Yowu 80포트로 접속했을시 보여지는 웹 페이지들의 디렉토리를 변경하고 싶으신건가요? 그렇다면 httpd.conf 파일(아파치 설정파일)을 수정해주고 서비스를 재시작해야합니다.
    http://webdir.tistory.com/178 주소로 가셔서 DocumentRoot "/var/www/html" 부분을 참고하세요.
    2014.12.12 20:58 신고
  • 프로필사진 비밀댓글입니다 2014.12.13 12:29
  • 프로필사진 BlogIcon Yowu 아뇨 ㅜㅜ 저는 IDE를 디버깅 할 때 말고는 잘 사용하지 않습니다; 2014.12.14 03:59 신고
  • 프로필사진 BlogIcon 실황 궁금한 것이 있습니다.
    그러면 apache 는 별도로 설치를 하지 않아도 웹이 열리는 건가요?
    톰캣에 apache 가 같이 들어가 있어 함께 설치가 되는 건가요?

    여러 포스팅을 보았는데, apache를 먼저 설치하고 톰캣을 설치하여 연동을 하는 작업을 하던데요.

    설치하는 방법이 이렇게 두 가지가 있는 건지요?
    2015.01.08 19:34
  • 프로필사진 BlogIcon Yowu 톰캣과 아파치는 각각 php와 jsp를 구동하기 위한 하나의 웹 서버입니다.
    각각 설치해본적은 없지만 톰캣만 살치하더라도 잘 될 것입니다.
    톰캣과 아파치를 연동하는 부분은 대부분 php와 jsp간의 통신을 위해 연동한다고 알고 있습니다.
    답변되셨기 바랍니다.
    2015.01.08 19:50 신고
  • 프로필사진 BlogIcon 실황 아 php와 연동을 위한 거로군요? 답변 감사드립니다.

    jsp단독으로만 운영할거면 아파치 연동을 안해도 되겠군요.^^
    2015.01.09 16:42
  • 프로필사진 윈치 좋은정보감사합니다~ 참조좀 걸도록 하겠습니다 ~~ 2015.04.21 16:47
  • 프로필사진 이창우 좋은 내용 감사합니다! 2015.12.11 15:20
  • 프로필사진 비밀댓글입니다 2016.01.13 01:03
  • 프로필사진 BlogIcon Yowu 문제 없습니다. 2016.02.03 00:44 신고
댓글쓰기 폼
«   2021/10   »
          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
3,248,837
Today
639
Yesterday
500