웹 서버 기본상식- Apache란 무엇인가?

Ji·2021년 2월 21일
0
post-thumbnail

창업 프로젝트를 시작하게 되면서, 나를 가장 혼란스럽게 만든 건 웹 서버 구축이었다. 개발이라고는 1도 해보지 않은 나로서는 모든게 처음이었던 것이다. 하지만 윈도우 환경에서 APM(Apache, PHP, MYSQL)을 구축할 수 있는 APMSetup 이라는 3가지를 묶어서 설치해주는 프로그램이 있었기 때문에 비교적 쉽고 빠르게 웹 서버를 구축할 수 있었다.

정식으로 웹서버를 구축하기 위해서는 위에서 말했던 APM이 필요한데, PHP는 웹 프로그래밍 언어이고, MySQL은 관계형 데이터 베이스 시스템이라고 알고 있었다. Apache는 HTTP 웹 서버라고 하는데, 웹 서버 구축이 거의 끝난 지금, Apache와 웹 서버에 대해서 정리해보려고한다.

Apache란?

  • 아파치는 월드와이드 웹 서버용 소프트웨어이다. HTTP 아파치 서버라고도 불리고, HTTP 웹 서버이다. 리눅스나 윈도우 등 거의 모든 운영체제에서 사용할 수 있으며 구축이 쉽고, 다양한 추가기능을 가지고 있기 때문에 현재 가장 인기있는 웹서버로 이용되고 있다.

웹 서버?

  • 웹 브라우저와 같은 클라이언트로부터 HTTP요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램이다. 혹은 위에 언급한 기능을 제공하는 프로그램을 실행하는 컴퓨터를 웹서버 라고한다.

  • 웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것이다. 주로 HTML, CSS, Javascript, Image (정적인 정보) 가 클라이언트로 전달된다.주된 기능은 콘텐츠를 제공하는 것이지만 클라이언트로부터 콘텐츠를 전달 받는 것도 웹 서버의 기능에 속한다. 대표적인 웹서버는 IIS, Apache, Nginx, GWS등이 있다.

  • 웹서버는 정적인 방식과 동적인 방식 두 가지가 있다.

  1. 정적인 웹 서버: 단순히 HTML 문서만을 사용자에게 제공하기 때문에 아파치 웹 서버 하나면 된다.
  2. 동적인 웹 페이지는 사용자의 요구에 따라서 다양한 웹 페이지를 제공하고, 이를 구성하기 위해서 php와 MySQL 데이터 베이스를 연계하여 사용한다 (APM. 리눅스 에서는 LAMP라고 부른다)

우리 프로젝트의 경우, 아두이노에서 받는 0.5초 마다 보내주는 센서 값을 DB에 저장한 후, 실시간으로 송출해야 됐기 때문에 APM 웹 서버를 구축해야 했다. 또한 아파치 웹 서버에서 PHP 코드가 추가된 문서를 해석하기 위해서는 모듈(정적 모듈, 동적 모듈)을 사용해야 한다고 한다.

정리

HTML 코드 안에 PHP언어가 포함돼 있음.
웹 서버(Apache)에서 PHP코드를 해석하기 위해서는 정적/동적 모듈 장착해야 함.
서버에서 PHP코드를 해석해 동적 웹페이지를 생성 가능.

참고) WAS(Web Application Server)의 구성

  • 순서 : 사용자 request(웹 브라우저) -> 웹 서버 -> was(동적 처리) -> 웹 서버 -> 사용자 응답 메세지 (웹 브라우저)

Reference
https://wiseworld.tistory.com/75

https://medium.com/@jw02048/%EC%9B%B9%EC%84%9C%EB%B2%84%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-a51942140bb8

https://helloworld-88.tistory.com/71

profile
공부방

0개의 댓글