-
웹서버 : 소프트웨어 개념 중 웹사이트를 제공하는 서버
-
기본 역할 : 서버 컴퓨터에 저장된 파일(HTML, CSS, JavaScript, 미디어파일 등)을 특정 폴더에 저장하고, 이 폴더를 외부에서 접근 가능하도록 개방해서 서버에 지정된 웹사이트 주소로 접속하면 파일들을 받아갈 수 있도록 함(정적웹)
-
동적웹 제공
- 웹서버 고유 역할이라 하긴 애매 → 아파치나 NginX 모듈 가능
- 아파치, PHP, MySqL 연동하여 동적 PHP 웹사이트 제공 방식(APM)
- 아파치에 PHP 해석할 수 있는 모듈 세팅 + 접근이 있을 때마다 PHP 코드에 적힌 레시피 + MySQL 식재료를 가져와 아파치가 요리
- NginX도 가능
-
아파치, NginX, IIS(윈도우) 가 대표적 웹서버
-
톰캣 : 요즘 스프링 부트에 내장
- 자바랑 JSP로 만든 웹 또는 API 어플레케이션을 실행할 때 톰캣같은 웹 어플리케이션 서버 사용(WAS 또는 와스라 함)
- Web 과 Server 사이라 WAS (뭔가 프로그래밍된걸 더 한다)
- 동적 사이트를 전문적으로 처리해주는 것
- 아파치나 NginX같은 웹서버도 PHP 가능하지만, 스프링으로 넘어가면 톰캣 같은 전문 요리사 (WAS)의 손을 빌려야 함
- 자바 바이트코드로 컴파일되는 언어들에 쓰이는 걸로 톰캣, Jetty, Undertow 등이 있음
-
톰캣 사용법 : 스프링 코딩한 웹앱을 war 파일로 빌드하면 그 안에 .class, jsp, 이미지, CSS, 자바스크립트 파일 등이 압축
- 톰캣 다운시 여러 폴더와 파일들이 들어있는 하나의 폴더, 그 중 특정 폴더에 war 파일을 넣고 명령어를 실행하면 스프링 서비스가 톰캣을 사용해서 돌게 되는것
- 요즘은 반대로 스프링을 톰캣이 들어있는 jar 파일로 빌드해서 배포
-
아파치, NginX가 웹서버, 톰캣은 WAS
- 웹서버가 사용자 응대
- WAS 등 전문 요리사가 뒤에서 요리