들어가기 전에
word 파일을 열어서 내용을 확인하기 위해서는 ms office의 word 프로그램이나 viewer가 필요합니다.
웹 어플리케이션을 실행하기 위해서도 필요한 것이 있습니다.
그것이 WAS이고, 이번 학습에서 설치할 Apache Tomcat은 WAS 중 하나입니다.
웹 어플리케이션을 실행하기 위해서 필요하므로 설치해야 합니다.
학습 목표
- WAS 가 무엇인지 설명할 수 있습니다.
- Apache Tomcat을 다운로드 받아 설치할 수 있습니다.
핵심 개념
- Apache Tomcat
- WAS(Web application server)
학습하기
Apache Tomcat이란?
아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 개발한 세계에서 가장 많이 사용되는 WAS(Web Application Server)입니다.
컴퓨터에 운영체제를 설치해야만 컴퓨터를 사용할 수 있는 것처럼, 자바를 이용하여 작성된 웹 어플리케이션은 WAS가 있어야만 실행할 수 있습니다.
이때 가장 많이 사용되는 WAS가 아파치 톰캣이라고 말할 수 있습니다.
아파치 톰캣은 오픈소스 소프트웨어로써 누구나 무료로 사용할 수 있습니다.
참고로 Tomcat은 '수고양이'를 뜻합니다. 톰과 제리의 톰이 생각나기도 합니다.
Apache Tomcat 다운로드 및 설치
아파치 톰캣은 http://tomcat.apache.org 에서 다운로드 받을 수 있습니다.
http://tomcat.apache.org 로 이동한 후 "Tomcat 8"을 선택합니다.
2017년 12월 기준 최신 버전은 "Tomcat 9"입니다만, 이번 수업에서는 "Tomcat 8"을 다운로드 하도록 하겠습니다.
Tomcat 8버전은 JDK 7이상에서 동작하며 Servlet Spec 3.1을 지원합니다.
Tomcat 9버전은 JDK 8이상에서 동작하며 Servlet Spec 4.0을 지원합니다.
좌측 "Download"메뉴 아래에 있는 "Tomcat 8"링크를 클릭합니다.
MAC OS 사용자의 경우
1. 다운로드 받은 tar.gz 확장자의 톰캣파일의 압축을 해제합니다.
관리의 편의를 위해 압축해제 한 폴더를 ~/ 경로의 apps 폴더로 옮깁니다.
mkdir ~/apps
cd ~/apps
mv ~/Downloads/apache-tomcat-8.5.24 ~/apps/
2. 쉘확장자를 가진 파일의 실행권한을 줍니다.
chmod +x ./bin/*.sh
3. 제대로 실행 권한이 생성 되었는지 확인해 보기 위해 ls -al 로 해당 폴더의 파일 목록을 봅니다.
해당 파일명 앞에 -rwxr-xr-x@ 와 같이 권한 마지막 부분에 x가 보인다면 실행권한이 부여 된 것입니다.
ls -al
-rw-r-----@ 1 username staff 34894 Mar 5 22:11 bootstrap.jar
-rw-r-----@ 1 username staff 1664 Mar 5 22:13 catalina-tasks.xml
-rw-r-----@ 1 username staff 15815 Mar 5 22:11 catalina.bat
-rwxr-x--x@ 1 username staff 23387 Mar 5 22:11 catalina.sh
-rw-r-----@ 1 username staff 207125 Mar 5 22:11 commons-daemon-native.tar.gz
-rw-r-----@ 1 username staff 25145 Mar 5 22:11 commons-daemon.jar
-rw-r-----@ 1 username staff 2040 Mar 5 22:11 configtest.bat
-rwxr-x---@ 1 username staff 1922 Mar 5 22:11 configtest.sh
-rwxr-x---@ 1 username staff 8509 Mar 5 22:11 daemon.sh
-rw-r-----@ 1 username staff 2091 Mar 5 22:11 digest.bat
-rwxr-x---@ 1 username staff 1965 Mar 5 22:11 digest.sh
-rw-r-----@ 1 username staff 3574 Mar 5 22:11 setclasspath.bat
-rwxr-x---@ 1 username staff 3680 Mar 5 22:11 setclasspath.sh
-rw-r-----@ 1 username staff 2020 Mar 5 22:11 shutdown.bat
-rwxr-x---@ 1 username staff 1902 Mar 5 22:11 shutdown.sh
-rw-r-----@ 1 username staff 2022 Mar 5 22:11 startup.bat
-rwxr-x---@ 1 username staff 1904 Mar 5 22:11 startup.sh
-rw-r-----@ 1 username staff 49335 Mar 5 22:11 tomcat-juli.jar
-rw-r-----@ 1 username staff 405109 Mar 5 22:11 tomcat-native.tar.gz
-rw-r-----@ 1 username staff 4574 Mar 5 22:11 tool-wrapper.bat
-rwxr-x---@ 1 username staff 5483 Mar 5 22:11 tool-wrapper.sh
-rw-r-----@ 1 username staff 2026 Mar 5 22:11 version.bat
-rwxr-x---@ 1 username staff 1908 Mar 5 22:11 version.sh
4. 터미널에서 다음과 같이 명령어를 실행해 줍니다.
./bin/startup.sh
5. 이 때 아래와 같은 오류가 나오면, 다음의 명령어 chmod +x bin/catalina.sh 를 실행해 줍니다.
Cannot find bin/catalina.sh
The file is absent or does not have execute permission
This file is needed to run this program
다음과 같이 해당 파일을 생성하고 실행권한도 생성해 줍니다.
chmod +x bin/catalina.sh
6. 그리고 다시 다음의 명령어로 톰캣을 실행해 줍니다.
./bin/startup.sh
7. 톰캣이 시작되었다는 메시지는 출력되지만 8080포트로 접근이 되지 않을 때는 root 권한으로 서버를 시작해 줍니다.
sudo ./bin/startup.sh
- 쉘 파일의 실행 권한을 주고 서버를 실행 했음에도 http://localhost:8080/ 로 접근이 되지 않을 때 sudo 명령어를 통해 서버를 시작해야 합니다.
comment
24.03.29.
1. jeus,ibm webSphere
2. 웹 브라우저 - 웹서버 - 웹애플리케이션 서버 - DB 이렇게 연결되어있는데
웹서버는 정적인 파일들을 웹브라우저의 요청에 따라 반환해주고 dB와 연관된 웹브라우저의 요청이 있으면 웹애플리케이션 서버로 전달해주어 필요한 DB의 내용을 웹서버에게 전달해주면 웹서버는 DB의 내용을 html파일등에 합쳐서 웹브라우저로 응답해준다.
웹애플리케이션 서버가 없다면 DB에서 로직을 처리하고 정보를 전달해줄 기능을 하는 애가 없어져서 동적인 콘텐츠를 제공할 수 없기 때문이다.
https://velog.io/@woo00oo/Web-Server%EC%99%80-WAS
https://tomcat.apache.org/whichversion.html
Apache Tomcat
탐캣은 WAS 부문 중 하나
WAS 중 가장 많이 사용되는 소프트웨어
bin 폴더/ bat 확장자는 윈도우용, sh 확장자는 리눅스나 맥
startup.bat 실행 -> http://localhost:8080 or http://127.0.0.1:8080 url 서버 접속
굉장히 오래된 강의인데 업데이트는 2022로 되어있는게 어이가없네,, 게시글을 업데이트를 하던가 날짜를 갱신하지말아주세요
localhost:8080 입력 후에 "This is a proxy server. Does not respond to non-proxy requests." 이 오류는 어떻게 해결해야 할까요??
2022.07.31
WAS 종류: Apache Tomcat / WildFly Jboss / TmaxSoft Jeus / IBM Web Sphere
- WAS가 없으면 프로그램 실행환경기능, 데이터베이스 접속 기능, 트랜잭션 관리 기능, 업무 처리 비즈니스 로직 수행등에 문제가 있을 것이다
1. 제우스
2. WAS란 말 그대로 웹 어플리케이션 서버인데 서버가 없으니까. 담배를 피우려는데 불이 없으면 어떻게 될까? 같은 질문
20220124
톰캣은 was
startup 실행했는데 명령프롬프트가 바로 꺼져버리고 ,JRE가 어딨어?같은 오류를 겪으실 수 있는 분들을 위해 글을 게재해놓았습니다. (앞의 섬인철 님의 댓글 블로그에 설명해주신 글의 내용을 참고하여 작성하였습니다.)
https://coding-hoon.tistory.com/10
2021.07.26
1. Tomcat(아파치), JBoss(RedHat), Weblogic(Oracle), Jeus(티맥스)
localhost:8080 에 접속할때 이 사이트에 엑세스하려면 로그인 하라고 되어있는데 실패한 건가요? 이럴땐 어떻게 해야하죠?
21.05.05
2021.05.05
localhost:8080 이 에러나시는분들
만약 에러가 난다면 conf 파일내부에서
server.xml 을 메모장으로 여신 다음에
crl+f 로 8080 찾으셔서 해당 포트번호를 전부 바꿔주시면 됩니다
저는 8090으로 바꿔서 해결하였습니다. !!
21.04.26
1. 레진 , 제이런, 닷넷 애플리케이션 서버, 윈스톤 서블렛 콘테이너, 제티
2. WAS는 웹 응용서버, AS등으로 불리며 웹 애플리케이션과 서버 환경을 만들어 동작시킨다. WAS가 없으면 프로그램 실행환경기능, 데이터베이스 접속 기능, 트랜잭션 관리 기능, 업무 처리 비즈니스 로직 수행등에 문제가 있을 것이다.
1. BEA사의 Web Logic., IBM사의 Web Spere., TMAX사의 Jeus., JBOSS, Sun microsystems사의 Sun Application Server.
2. WAS가 클라이언트의 요청에 따라 적절히 동적인 요소를 처리하기 때문인것같습니다..