Apache Tomcat이란?
아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 개발한 세계에서 가장 많이 사용되는 WAS(Web Application Server)입니다.
컴퓨터에 운영체제를 설치해야만 컴퓨터를 사용할 수 있는 것처럼, 자바를 이용하여 작성된 웹 어플리케이션은 WAS가 있어야만 실행할 수 있습니다.
이때 가장 많이 사용되는 WAS가 아파치 톰캣이라고 말할 수 있습니다.
아파치 톰캣은 오픈소스 소프트웨어로써 누구나 무료로 사용할 수 있습니다.
참고로 Tomcat은 '수고양이'를 뜻합니다. 톰과 제리의 톰이 생각나기도 합니다.
* WAS란?
웹 애플리케이션 서버는 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다. 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어으로 볼 수 있다.
Apache Tomcat 다운로드 및 설치
(필자의 개발 환경이 Mac OS이기 때문에 Mac 설치 방법만 언급을 하려고 한다. Window 설치 방법이 궁금하다면 부스트코스 강의를 참고하는 것을 권장한다)
1. http://tomcat.apache.org/ 에 접속해서 Tomcat8 버전을 설치한다.
2020년 2월 기준으로 Tomcat9 버전이 최신 버전이지만, 부스트코스에서는 8버전을 기준으로 강의를 진행하고 있다.
Tomcat 8버전은 JDK 7이상에서 동작하며 Servlet Spec 3.1을 지원
Tomcat 9버전은 JDK 8이상에서 동작하며 Servlet Spec 4.0을 지원
Mac OS 사용자는 다운로드에 Tomcat8을 클릭 후 이동한 화면에서 Binary Distributions -> Core -> tar.gz 를 다운받는다.
2. 다운로드 폴더에 들어가서 tar.gz 압축을 푼 뒤, 터미널을 열어 다음과 같은 명령어를 입력한다.
[깨알 설명]
- mkdir ~ : ~라는 경로에 폴더를 생성한다. 여기서는 ~/ 밑에 apps라는 이름의 폴더를 생성한 것
- cs ~ : ~라는 경로로 이동한다.
- mv A B : 공백을 기준으로 A라는 경로의 폴더 혹은 파일을 B라는 경로로 이동한다. 경로를 입력할 때 ~/Downloads/apache 이정도만 직접 입력하고 tap을 누르면 경로가 자동 완성된다. 버전이 필자와 다를 수 있기 때문에 tap을 사용하는 것을 추천한다
3. 쉘확장자를 가진 파일의 실행권한을 준다.
제대로 실행 권한이 생성 되었는지 확인해 보기 위해 ls -al 로 해당 폴더의 파일 목록을 본다.
해당 파일명 앞에 -rwxr-xr-x@ 와 같이 권한 마지막 부분에 x가 보인다면 실행권한이 부여 된 것
만약 no matches found: ./bin/*.sh 와 같은 에러 메세지가 뜬다면
cd apache-tomcat-8.5.50 를 입력해 경로를 변경한다.
bin이라는 폴더를 찾지 못해서 생기는 문제로 현재 apps 폴더 안에 apache-tomcat-8.5.50이라는 폴더가 있고 그 안에 bin이라는 폴더가 있는 것이기 때문에 cd 커맨드를 사용해 한 번 더 폴더를 들어간 다음 진행하면 된다.
4. 터미널에서 다음과 같이 명령어를 실행해 준다.
만약 다음과 같은 에러가 뜬다면 chmod +x bin/catalina.sh 를 입력 후 다시 실행하면 된다.
5. http://localhost:8080/ 로 접속했을 때 톰캣에서 기본으로 제공하는 사이트가 보인다면 성공이다.
쉘 파일의 실행 권한을 주고 서버를 실행 했음에도 http://localhost:8080/ 로 접근이 되지 않을 때 sudo 명령어를 통해 서버를 시작해야 한다. 4번 명령어 앞에 sudo를 붙여주기만 하면 된다.
실행 중인 창을 닫으면 톰캣이 종료가 되지만 그렇지 않은 경우도 있을 것이다. 제대로 종료하지 않으면 이후에 같은 포트로 서버를 실행시키려할 때 충돌이 생길 수 있으니 확인해주어야 한다.
kill -9이라는 명령어를 사용하여 열려있는 포트를 종료하기도 하는데 여기를 참고해보자
[부스트코스 관련 강의 링크]
Tomcat 다운받기 및 설치하기 - https://www.edwith.org/boostcourse-web/lecture/16684/
'Tech > BoostCourse - WEB' 카테고리의 다른 글
[부스트코스] Servlet 작성 방법 (0) | 2020.02.13 |
---|---|
[부스트코스] Servlet 이란? (0) | 2020.02.13 |
[부스트코스] CSS (3/3) (0) | 2020.02.07 |
[부스트코스] CSS (2/3) (0) | 2020.02.07 |
[부스트코스] CSS (1/3) (0) | 2020.02.06 |