창업 프로젝트를 시작하게 되면서, 나를 가장 혼란스럽게 만든 건 웹 서버 구축이었다. 개발이라고는 1도 해보지 않은 나로서는 모든게 처음이었던 것이다. 하지만 윈도우 환경에서 APM(Apache, PHP, MYSQL)을 구축할 수 있는 APMSetup 이라는 3가지를 묶어서 설치해주는 프로그램이 있었기 때문에 비교적 쉽고 빠르게 웹 서버를 구축할 수 있었다.
정식으로 웹서버를 구축하기 위해서는 위에서 말했던 APM이 필요한데, PHP는 웹 프로그래밍 언어이고, MySQL은 관계형 데이터 베이스 시스템이라고 알고 있었다. Apache는 HTTP 웹 서버라고 하는데, 웹 서버 구축이 거의 끝난 지금, Apache와 웹 서버에 대해서 정리해보려고한다.
웹 브라우저와 같은 클라이언트로부터 HTTP요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램이다. 혹은 위에 언급한 기능을 제공하는 프로그램을 실행하는 컴퓨터를 웹서버 라고한다.
웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것이다. 주로 HTML, CSS, Javascript, Image (정적인 정보) 가 클라이언트로 전달된다.주된 기능은 콘텐츠를 제공하는 것이지만 클라이언트로부터 콘텐츠를 전달 받는 것도 웹 서버의 기능에 속한다. 대표적인 웹서버는 IIS, Apache, Nginx, GWS등이 있다.
웹서버는 정적인 방식과 동적인 방식 두 가지가 있다.
우리 프로젝트의 경우, 아두이노에서 받는 0.5초 마다 보내주는 센서 값을 DB에 저장한 후, 실시간으로 송출해야 됐기 때문에 APM 웹 서버를 구축해야 했다. 또한 아파치 웹 서버에서 PHP 코드가 추가된 문서를 해석하기 위해서는 모듈(정적 모듈, 동적 모듈)을 사용해야 한다고 한다.
HTML 코드 안에 PHP언어가 포함돼 있음.
웹 서버(Apache)에서 PHP코드를 해석하기 위해서는 정적/동적 모듈 장착해야 함.
서버에서 PHP코드를 해석해 동적 웹페이지를 생성 가능.
Reference
https://wiseworld.tistory.com/75