카테고리 없음
아파치와 톰캣
gyeonghyun
2024. 6. 13. 21:30
- Apache HTTP Server, 종종 단순히 "Apache"라고 불리는 이 서버는 전 세계적으로 가장 널리 사용되는 웹 서버 ( web Server ) 소프트웨어 중 하나
- 웹 서버는 주로 정적 콘텐츠(HTML 파일, 이미지, CSS, JavaScript 파일 등)를 클라이언트에 제공하는 역할을 한다.
- 80 포트를 사용
Web Server 란?
http 프로토콜 기반으로 web client (browser) 로부터의 요청을 서비스하는 기능을 담당하는 프로그램.
80번 포트로 클라이언트 요청(POST,GET,DELETE)이 왔을때만 응답한다.
정적인 데이터에 대한 처리를 담당한다.
- Apache Tomcat은 Java 서블릿과 JSP(JavaServer Pages)를 실행하기 위한 서블릿 컨테이너 및 웹 애플리케이션 서버
- Tomcat은 Java 애플리케이션을 실행하고 동적 콘텐츠를 생성하는 데 중점을 둔다.
- 8080포트 사용
WAS 란? (web Application Server)
여러 web client의 요구를 web서버가 감당할수없는 기능을 구조적으로 web서버와 분리하기 위해 만들어진것으로 web application server(WAS) 라고 한다.
WAS는 동적인 데이터를 처리하는 서버, DB 연결, 데이터 조작 등의 처리를 담당한다.
ex) tomcat, weblogic, jeus, jboss..
아파치 톰캣 (Apache + Tomcat)
웹 서버는 정적인 데이터를 처리하는 서버로 이미지나 단순 HTML을 처리하는 서버라면 웹 서버가 적당하며 빠르고 안정적이다.
웹 애플리케이션 서버는 동적인 데이터를 처리하는 서버로 DB연결, 데이터 조작 등과 같은 처리는 WAS를 활용해야 한다.
그러면 왜 톰캣을 아파치 톰캣이라고 하는가?
톰캣에서 편의를 위해 아파치의 기능 일부를 가져와서 제공해주는 형태이기 때문에 같이 합쳐서 부른다.
요약
- 성능 최적화: Apache HTTP Server는 정적 콘텐츠를 처리하고, Tomcat은 동적 콘텐츠를 처리하여 서버 자원을 효율적으로 사용할 수 있다.
- 보안 및 확장성: Apache HTTP Server는 리버스 프록시 역할을 하여 Tomcat 앞단에 위치하여 보안과 로드 밸런싱 기능을 제공할 수 있다.
톰캣 파일 구조
- bin : 톰캣 실행에 필요한 실행,종료시키는 스크립트들이 존재하는 디렉토리
- conf : server.xml 및 서버 전체 설정과 관련된 톰캣 설정파일들이 위치
- lib : 아파치와 같은 다른 웹서버와 톰캣을 연결시켜주는 바이너리 모듈들이 포함되어있고, 톰캣을 구동하는데 필요한 jar 라이브러리 들이 존재하는 위치
- logs : 톰캣 실행 로그파일 디렉토리
- temp : 톰캣이 실행 되는 동안 임시파일 디렉토리
- webapps : 웹어플리케이션 디렉토리
- work : jsp파일을 서블릿 형태로 변화한 .java 파일과 .class파일을 저정하는 디렉토리
톰캣 주요 파일
- context.xml : 세션,쿠키 저장 경로 등을 지정하는 설정 파일
- server.xml : Tomcat의 주 설정파일로 접근/접속에 관한 설정이 주를 이룬다.
- web.xml : Tomcat의 환경설정 파일이며 서블릿, 필터, 인코딩 등을 설정할 수 있다. 가장 먼저 읽는 파일 DefaultServlet 지정 및 Servlet-mapping
Web.xml 설정 항목
- 디렉토리 목록 - url 접근 시 디렉토리 목록의 사용여부 결정
- 웰컴 페이지 설정 - url 접근시 사용할 첫 페이지 설정
- 자동 서블릿 로드 - 서블릿이 재컴파일 되었을 때 자동으로 리로드할지 여부를 설정
- 특정 Webap에 대한 디렉토리 목록 사용 설정
- 웹 컨텍스트 루트 디렉토리 및 요청 URL 설정
- 기본 webapp 디렉토리 변경