-
웹서버, WAS, Apache Tomcat 설치 및 실행Server 2024. 11. 5. 11:34
웹 환경에서 클라이언트와 서버 간의 상호작용은 웹의 기본 작동 원리로, 클라이언트는 사용자가 웹 브라우저(예: Chrome, Firefox, Safari)를 통해 요청(request)을 보내는 역할을 하며, 서버는 이 요청을 받아 응답(response)을 반환한다.

위 과정은 웹 페이지를 요청하고 제공하는 표준화된 방식인 HTTP(HyperText Transfer Protocol)를 통해 이루어진다.
Web Server와 Web application Server
위에서의 사진은 클라이언트와 서버 간의 정적인 통신을 나타낸 사진이다. 동적인 통신을 위해서는 웹 애플리케이션 서버라는 개념이 등장하게 된다.

웹 서버(Web Server)와 웹 애플리케이션 서버(Web Application Server, WAS)는 웹 환경에서 서버의 역할이 서로 다른데, 웹 서버는 정적인 콘텐츠(HTML, 이미지, CSS 등)를 제공하는 반면, 웹 애플리케이션 서버는 동적인 콘텐츠(데이터베이스 조회나 프로그램이 처리한 결과)를 생성하여 응답할 수 있다.
동적인 통신을 하기 위해서는 웹 애플리케이션 서버와 통신을 해야하고, 웹 애플리케이션은 내부에 웹 서버를 포함한다.
그렇다면 동적인 통신이 왜 필요할까?
초기 인터넷에서는 인터넷 사용자가 지금처럼 많지 않았기 때문에 Web application Server가 필요가 없었다.
만약, 웹 사이트 A의 사용자가 5명이라면 그냥 html페이지를 5개를 만들면 된다. 사용자의 수만큼 페이지를 만들어야하는데, 만약 사용자의 수가 엄청나게 증가하게 된다면 그 수만큼의 페이지를 다 만들수 있을까??
따라서 Web Application Server는 위처럼 엄청난 수의 페이지를 만들지 않기 위해서 필요하다. WAS를 사용해서 그냥 요청이 왔을 때 해당 요청에 대한 응답을 주면 되고, 페이지에서는 그 응답만 표시해 주면 된다.
그렇지만 모든 경우에 동적인 통신이 필요한 것은 아니다. 주로 정적 콘텐츠를 클라이언트에 제공하는 역할만 하면 된다면 그냥 웹서버를 사용하고 동적 콘텐츠를 생성하여 클라이언트의 요구에 맞춘 응답을 제공하는 역할을 해야한다면 WAS를 사용하면 된다.
웹 서버 (Web Server) 웹 애플리케이션 서버 (WAS) 역할 정적 콘텐츠(HTML, CSS, JS, 이미지) 제공 동적 콘텐츠 생성 및 비즈니스 로직 처리 주요 기능 HTTP 요청 수신 및 응답 반환 애플리케이션 실행, 데이터베이스와의 상호작용, 비즈니스 로직 수행 예시 Apache HTTP Server, Nginx Tomcat, WebLogic, JBoss 사용 목적 정적 파일 제공을 빠르고 효율적으로 처리하기 위함 웹 애플리케이션의 비즈니스 로직을 처리하여 사용자 요구에 맞는 동적 응답 제공 작동 방식 클라이언트의 요청을 받아 정적 리소스를 그대로 반환 요청을 받아 로직 수행 후 동적으로 생성된 결과를 반환 주요 사용 프로토콜 HTTP, HTTPS HTTP, HTTPS 처리 가능한 작업 정적 콘텐츠 제공 (파일 제공) 동적 콘텐츠 생성 (데이터 처리, 파일 생성, API 호출) 확장성 정적 리소스 캐싱 가능, 상대적으로 확장성 높음 로직 처리로 인해 서버 부하 발생 가능, 별도의 확장 전략 필요 필요성 정적 콘텐츠만 필요할 때 사용 가능 비즈니스 로직을 포함한 동적 콘텐츠가 필요한 경우 필수적 Apache Tomcat이란?
아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단이 개발한 오픈 소스 웹 서버 및 서블릿 컨테이너로, 주로 자바 서블릿과 JSP(JavaServer Pages) 기술을 구현하여 Java 기반의 웹 애플리케이션을 호스팅하고 실행하는 데 사용되는 대표적인 웹 애플리케이션 WAS이다.
톰캣은 Java EE 사양에 따라 서블릿과 JSP를 처리할 수 있고, 비교적 가볍고 설정이 간단하여 개발 및 테스트 환경에서 많이 사용된다. 또한 쉽게 확장할 수 있으며, 다양한 애플리케이션 서버와 통합할 수 있고 높은 안정성과 성능을 갖고 있다. 주로 Java 웹 애플리케이션을 개발할 때 많이 사용되며, 다양한 프레임워크와 함께 통합되어 유용한 기능들이 있다.Apache와 Apache Tomcat을 혼동하면 안되는 점이, 아파치 서버라고 부르는 것들은 정적인 웹서버를 의미한다.
Apache Tomcat이 웹 애플리케이션 서버 WAS이고, 둘에는 큰 차이가있다. (Apache에서 만든 웹 애플리케이션 서버 = Tomcat)
Apache Tomcat 다운 및 실행

Apache Tomcat 다운로드 Apache Tomcat® - Welcome!
다운을 받았으면 압축을 풀고 cmd 창으로 들어가서 압축을 푼 폴더\bin 경로로 변경해주고
catalina.bat run 명령어를 입력하면 apache tomcat이 실행된다.
1. 아파치 톰캣 서버 시작
E:\Java\apache-tomcat-10.1.31\bin>catalina.bat run
2. 아파치 톰캣 서버 끝
ctrl + c
3. 아파치 톰캣 서버 요청
http://localhost:8080 에 접속하면 아래와 같은 창이 뜬다.

4. html이 저장되어 있는 디렉토리 - Document Root
E:\Java\apache-tomcat-10.1.31\webapps\ROOT
5. 기본 실행 파일 - index.jsp
http://localhost:8080/문서파일명
이렇게가 기본값인데 8080까지만 쳐도 되는 이유가 index.html또는 index.jsp가 기본 파일로 설정되어 있기 때문이다.
위 파일이 없으면 오류가 발생하게 된다.
'Server' 카테고리의 다른 글
[AJAX와 JSP] AJAX 대신 JSP를 사용하는 이유 & JSP 대신 AJAX를 사용하는 이유 (1) 2024.11.07 JSP 내장 객체 (0) 2024.11.07 [Server] InteliJ에서 JSP 프로젝트 생성 (0) 2024.11.07 JSP 기본 문법 (0) 2024.11.07 JSP와 HTML, Servlet (0) 2024.11.07