✔️ APM이란 ?
A(Apache) + P(PHP) + M(Mysql)의 조합이다.
APM 소프트웨어가 존재하는 것이 아니라 이 3가지가 연동되어 운영되도록 만든 환경을 APM이라고 한다.
Apache와 MySQL이 PHP와 호환성이 좋기 때문에 주로 세 프로그램을 묶어 패키지 형태로 사용한다.
✔️ Apache (Apache HTTP Server)
Apache는 웹서버 프로그램이다. 웹 서버란 인터넷 사이트를 개설하여 웹 서비스를 제공해주는 서버이다. 예를들어 사용자가 네이버 사이트에 접속하면 웹 서버에게 html 파일을 요청한다. 요청을 받은 웹 서버는 사용자에게 html 파일을 제공하므로 사용자가 웹페이지 화면을 볼 수 있는 것이다.
✔️ PHP
이 때, 웹 페이지를 구성하는 언어가 PHP이다. PHP는 웹 프로그래밍 언어로 사용자가 보는 웹 페이지를 구성하는 언어이다. HTML의 경우 웹브라우저에서 소스를 해석해 보여주지만, PHP는 서버에서 해석하여 HTML 코드로 만들어 브라우저에게 전달하는 것이다.(그러므로 일반 사용자는 PHP코드를 볼 수 없음, 서버단에 있기때문에)
✔️ Mysql
MySQl은 데이터베이스 서버이다. 웹 서버에서 PHP로 만든 코드들을 해석하고, 좀 더 광범위한 데이터를 다루기 위해 데이터베이스를 넣은 것이다. 원래는 mysql없어도 php만으로 간단한 웹페이지를 만드는 것은 가능하다. 하지만 웹페이지에 우리는 사진, 동영상, 게시판 등 훨씬 많은 데이터들을 저장하고 보여주고 할때에는 데이터베이스와의 연동이 필요하기 때문에 mysql을 사용하는 것이다.
✔️ APM 구동 원리
클라이언트가 웹 브라우저에게 URL을 입력하면 80번 포트를 통해 서버에 Request를 한다.
- 클라이언트가 로그인 같은 서비스나 다른 정보를 서버에 Request
- 서버는 해당되는 정보를 주기 위해 PHP에게 스크립트 실행을 Request
- PHP는 미리 작성된 프로그램을 통해 MySQL에 Request(질의문)
- MySQL은 질의문에 대한 결과데이터를 가져와 PHP에 Response로 넘겨줌
- PHP는 받은 결과데이터와, 코드를 모두 HTML로 변경 후 서버(Apache)에 Response
- 서버(Apache)는 받은 HTML파일을 클라이언트 측 웹 브라우저에 Response
서버는 Response로 클라이언트에게 HTML, CSS 등의 웹사이트의 정보를 넘겨주게 된다.
🔗참고
'Study' 카테고리의 다른 글
데이터센터 관련 용어 (0) | 2023.05.08 |
---|---|
모니터링(Monitoring) (0) | 2023.02.08 |
ARN이란 ? (0) | 2022.10.18 |
SSH Proxy/Tunneling 개념 및 종류 (0) | 2022.04.05 |
[Red Hat] Openshift 란 ? (0) | 2022.03.29 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!