일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- BEANS
- 데이터사이언스
- session.removeAttribute
- session.getAttribute
- 팝업창
- 파일호출
- session.setAttribute
- 빈즈
- 페이지이동
- 로그인화면
- Import
- iframe
- target
- 자바빈즈
- 파일 호출
- opener
- 동기 부여
- Alert
- 페이지 이동
- 동기부여
- 미래직장
- "
- javaBeans
- scanner
- 버리자
- 영감
- ;
- static
- \
- 향상된 for문
- Today
- Total
갈림길 이정표
[Linux] Nginx + Tomcat (feat. AWS) 본문
리눅스를 홈페이지 운영서버로 활용하려면 먼저 웹서버 설치가 필요하다.
웹서버
- 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 것.
사용자가 클라이언트로 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내준다.
- 사용자가 요청한 것들 중에 웹 서버 자체적으로 처리할 수 없는 것들을 톰캣과 같은 컨테이너나 PHP 모듈과
같이 처리할 수 있는 곳으로 넘겨 처리 결과를 받아와서 사용자에게 넘겨주는 역할도 수행한다.
- 웹 서버만 구축된 서버는 웹 페이지, 이미지 등 정적인 페이지를 생성하지만,
JSP 컨테이너가 탑재되어 있는 WAS는 JSP 페이지를 컴파일 해 동적인 페이지를 생성한다.
- 웹 서버는 웹 문서를, WAS는 JSP 페이지 등을 양분하여 서버 부담을 줄이는 것이 가능하다.
- Apache, IIS(Internet Information Server), WebtoB 등
웹서버는 http 웹서비스(홈페이지)를 운영하기위해서는 반드시 필요한 서버 프로그램이다.
웹서버에는 여러 종류가 있는 데 그 중 대표적인 것이 Apache(아파치)와 Nginx(엔진엑스)이다.
Apache (Thread Programing) | Nginx (Event-Driven Programming) |
- 쓰레드 / 프로세스 기반 구조로 요청 하나당 쓰레드 하나가 처리하는 구조 |
- 비동기 Event-Driven 기반 구조. |
웹 어플리케이션 서버 (WAS)
- 웹 서버 + 웹 컨테이너.
- 웹상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버
- EJB와 같은 빈들이 올라가게 되며, 서버에 따라 웹에 필요한 많은 기능들을 포함하고 있다.
- J2EE 스펙을 구현한 서버(JSP / Servlet Container와 EJB Container 로서의 기능)
- 가장 많이 사용하는 WAS는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등이 있다.)
- Tomcat은 JSP / Servlet Container의 기능을 구현했으나 EJB Container로서의 기능은 없다.
따라서 Tomcat은 Was가 아니라는 사람들도 있다.
컨테이너
- JSP와 서블릿을 이용하는 웹 응용 프로그램은 자바 언어를 이용해서 작성할 수 있는데,
JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)라고 한다.
- Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며, 대표적인 웹 컨테이너로는
자카르타 톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.
- 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고,
서블릿의 수행결과를 웹 서버에서 전달하게 된다.