본문 바로가기
리눅스와 서버/서버관리

3계층 아키텍처(with. 실습)

by 빈스터디 2023. 2. 14.

3계층 아키텍처

클라이언트 계층(웹 서버, 프론트엔드 코드를 클라이언트에서 다운할 수 있는 기능) / 아파치 웹 서버

 

어플리케이션 계층(어플리케이션 서버, 백엔드 코드 저장) - CRUD / 톰캣

CREATE READ UPDATE DELETE

 

데이터 계층(DBMS) / mysql


※ 환경변수에서 'export'가 쉘에 적용시키는 명령어

※ 코드를 실행시키는 기능도 있다. (따라서, 프로그램 실행 결과를 받아온다.)

 기본적으로 아파치랑 톰캣이 https 통신이 되게 되어있다. 이걸 일단 안하겠다고 설정

 톰캣도 자바로 실행됨

 html을 요청하면 아파치 웹서버에서 실행되고, jsp 파일을 요청하면 톰캣 앱서버에서 실행된다.

 

수평분할은 같은 역할을 하는 컴퓨터를 여러 대 준비하는 것이다.

수직분할은 다른 역할을 하는 컴퓨터를 여러 대 준비하는 것이다.

 

웹 어플리케이션 서버 : 프로그램 코드를 실행해서 HTML을 동적으로 만들어서 보여주는 서버

 

실습

-> 웹 서버, 어플리케이션 서버, 데이터 서버까지 3계층 아키텍처 구축하기

worker file - 아파치가 사용자의 요청을 받았을 때, 본인이 처리할 수 없는 기능을 톰캣한테 시키는 역할

log file - 아파치와 톰캣 연동될 때 저장되는 로그 따로 저장하는 곳

mount - 톰캣 지정

 

 

본체 웹 브라우저(클라이언트)에서 http://[아파치 서버 IP]/index.html 입력했을 때

아파치에서 만든 index.html 파일의 내용이 나와야 한다.

아파치에서 만든 index.html이 출력되는 모습

 

본체 웹 브라우저(클라이언트)에서 http://[아파치 서버 IP]/index.jsp 입력했을 때

톰캣에서 만든 index.jsp 파일의 내용이 나와야 한다.

톰캣에서 만든 index.jsp가 출력되는 모습

 

본체 웹 브라우저(클라이언트)에서 http://[아파치 서버 IP]/db.jsp 입력했을 때

톰캣에서 만든 db.jsp 파일을 통해 db 데이터를 불러와야 한다.

톰캣에서 만든 db.jsp를 통해 DB서버에서 불러온 데이터가 출력되는 모습

 

lbfactor는 부하분산 비율을 나타내는 것