이번에는 Tomcat을 설치합니다. 이클립스에서 로깅을 통한 디버깅을 원한다면
이클립스가 설치된 개발 PC에 Tomcat 8과 사용할 DBMS를 설치하여
개발하길 권장합니다.
이클립스가 아직은 Tomcat 9 를 지원하지 않아요…
주의점
2016.04.26 Spring 게시판 개발 이야기 #6 :: Maven 배포 설정 내용
(처음부터 Tomcat 8 을 설치하길 권장합니다.)
지금까지 Tomcat 9.0.0.M4 버전으로 진행했더니 배포 시 Socket Connect Error가 나네요.
정식이 아닌 Mildstone 버전이라 불안정한 것 같습니다.
Tomcat 8을 적극 추천 드리며, Tomcat 9.0.0.M3 버전에서는 배포가 됨을 확인 했습니다.
Tomcat 9.0.0.M3 : http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M3/bin/
Tomcat 8 : http://tomcat.apache.org/download-80.cgi
Tomcat 설치
Tomcat 공식 사이트에서 Tomcat을 다운 받습니다.
설치할 환경이 Linux인 경우 tar.gz, 안락한 개발을 위해서는 tomcat 8 버전을 적극 권장합니다.
다운 받은 압축 파일을 해제합니다.
# tar xvzf apache-tomcat_다운받은_버전.tar.gz
압축 해제한 디렉토리를 원하는 곳으로 옮깁니다.
이때 사람마다 위치가 다른 데 아래를 참고하세요.
1. /usr/local : 주로 admin에 의해 설치되는 프로그램, 예를 들자면 컴파일 설치(./configure, make, make install 명령 등을 이용 )하는 경우
2. /opt: 리눅스에 Bundle로 제공되지 않는 프로그램을 추가로 설치할 경우에 사용하는 디렉토리, 응용 프로그램 설치, 에드 온(Add-on) 소프트웨어 패키지 디렉토리
뭐…Tomcat 도 Bundle로 제공되는 것 같지는 않지만, Java 처럼 생각해서 /usr/local/ 에 설치했습니다.
뭐랄까… 윈도우로 치자면 /opt가 MS Office 같은 프로그램이라면, /usr/local은 서비스 같은 느낌?? 이랄까요?? 공용으로 사용하는?? 항상 돌아가는??
편하게 접근 하기 위해 링크(바로가기)를 생성합니다.
# ln -s tomcat_디렉토리 apache-tomcat
이제 Tomcat을 시작프로그램(/etc/init.d)에 등록시킵니다.
참고로 /etc/init.d 는 /etc/rc.d/init.d 의 링크 디렉토리 입니다.
# vi /etc/init.d/tomcat
#!/bin/bash # description: Tomcat Start Stop Restart # processname: tomcat # chkconfig: 234 20 80 export CATALINA_HOME=/usr/local/apache-tomcat case $1 in start) sh $CATALINA_HOME/bin/startup.sh ;; stop) sh $CATALINA_HOME/bin/shutdown.sh ;; restart) sh $CATALINA_HOME/bin/shutdown.sh sh $CATALINA_HOME/bin/startup.sh ;; esac exit 0
# chmod 755 tomcat
# chkconfig --add tomcat
# chkconfig --level 234 tomcat on
# chkconfig –list
Tomcat을 시작합니다.
# service tomcat start
서버의 IP로 웹 브라우저를 통해 접속해보면
Tomcat 초기 화면이 나타납니다.
참고
만약 문제가 발생한다면 selinux와 firewalld(방화벽)을 의심하세요.
SELINUX 는 우선 selinux를 끈 후에 재부팅해도 안켜지도록 설정을 바꿉니다.
SELINUX 중지
# setenforce 0
SELINUX 설정 변경
# vi /etc/sysconfig/selinux
SELINUX=disabled
firewalld는 CentOS 7 에서 사용하는 방화벽입니다. 아래와 같이 처리합니다.
# systemctl stop firewalld.service
# systemctl disable firewalld.service
firewalld 상태 확인
# systemctl status firewalld.service
참고2
글을 올린 다음에 보니 제가 예전에 이클립스에 tomcat을 연동시키는 것을 포스팅 했었네요.
리눅스에서 진행했지만 이클립스 설정은 윈도우 또한 차이가 없습니다.