서버 구축을 알아보다가 궁금해서 정리해보는 글

전에 서버 구축할 때 apache를 사용했었는데 이게 정확히 뭐고 어디에 사용되는 것인지 이해가 안가서 … 정리해본다.

Apache

apache http server를 의미한다. 웹서버 프로그램이라고 한다.
우리는 이미 web server와 web application server의 차이를 안다.

Web server

  • http 기반으로 동작하는 서버
  • 정적 리소스 (html, css, js, 이미지, 영상)만을 처리한다.
  • Nginx, apache

Web application (WAS)

  • http 기반으로 동작하는 애플리케이션 로직을 수행하는 서버
  • 예시) 톰캣, jetty, undertow
  • DB 처리, 로직 처리를 요구하는 동적 타입을 제공하는 소프트웨어 프레임워크
  • 프로그램 실행환경과 데이터베이스 접속 기능을 제공한다
  • 여러 개의 트랜잭션을 관리한다
  • 업무를 처리하는 비즈니스 로직을 수행한다.

아파치는 웹 서버 프로그램이므로 정적 리소스만을 처리한다. 때문에 WAS를 같이 써줘야 하는데 WAS로 주로 사용하는 것이 TOMCAT이라고 한다.

톰캣 WAS

톰캣도 아파치 소프트웨어 재단에서 후원하고 있으며, 오픈 소스로 개발되고 있다고 한다. JSP와 Servlet을 구동하기 위한 서블릿 컨테이너 역할을 수행한다.

  • 아파치와는 다르게 DB연결이 가능하고 다른 응용프로그램과 상호작용 등 동적인 기능을 사용할 수 있다.

서버를 구축하기 위해서는 이 둘을 어떻게 사용할까?

출처 https://velog.io/@kdhyo/Apache-Tomcat-둘이-무슨-차이지

  • 아파치: 아파치 소프트웨어 단체
  • 아파치 서버: 정적인 파일 처리해주는 웹 서버 (80포트)
  • 톰캣: db 처리와 같은 동적인 기능을 가공하여 html 형식으로 클라이언트 제공하기 (8080 포트)

참고

Apache? Tomcat?? 둘이 무슨 차이지?

profile
하루하루 성장하는 BE 개발자

0개의 댓글