본문 바로가기
웹 프로그래밍 기초

주요 웹 서버

by oncerun 2021. 7. 6.
반응형

 

Web Server는 Client의 요청에 따라 웹 문서를 전달하는 서비스 프로그램으로 Appache, IIS, Nginx, GWS와 같은 다양한 종류의 웹 서버가 있다.

 

  • Apache

 - 아파치 재단이 주도하는 대표적인 오픈소스 웹 서버이다. 상당히 사용률이 큰 편이며 커뮤니티도 넓은 편이라고 생각한다. 사용자의 요청에 따라 별도의 프로세스 혹은 스레드를 생성하여 처리하는 것이 특징이며, Loadable Module 기능을 제공하여 서버의 동작을 확장할 수 있다.

 

- 리눅스, 윈도우, macOS 등 다양한 운영체제에 설치하여 사용할 수 있다

- Apache 1.x는 프로세스 기반으로 동작하여 사용자 요청마다 하나의 프로세스가 담당하였다. 그렇기에 동시 접속자 수가 증가하면, 시스템 성능에 영향을 준다.

- Apache 2.x는 Multi-Processing Module을 지원하여, 프로세스와 쓰레드를 이용하여 사용자 요청을 효과적으로 처리한다. MPM은 perwork와 worker의 두 가지 방식으로 클라이언트의 요청을 자식 프로세스에게 할당한다.

 

prefork Apache 1.x와 같은 방식으로 하나의 프로세스가 하나의 쓰레드를 갖는다.
실행 중인 프로세스를 fork(복제)하여 미리 동작시킨 후 클라이언트의 요청을 처리한다.
쓰레드 간 메모리 공유를 하지 않기에 쓰레드 세이프하다고 할 수 있지만 시스템 메모리를 많이 사용하는 구조이다.
최대 1,024개의 자식 프로세스를 사용하며, 리눅스의 기본 설정 방식이다.
worker 프로세스당 여러 개의 쓰레드를 갖는 구조로, 각 쓰레드가 클라이언트 요청을 처리한다. 
세팅 시 초기 구동할 프로세스의 수를 지정하며, 프로세스당 최대 쓰레드 개수는 64개이다. 이를 초과하면 새로운 프로세스를 생성하게 된다.

 

  • IIS

- 마이크로소프트가 개발 및 제공하는 웹 서버로, 마이크로소프트 ASP(Active Server Page)를 지원하며, GUI 기반의 관리 콘솔을 이용한 설정 및 관리가 편리하다.

 

  • Nginx

- NGINX사가 개발 및 제공하는 웹 서버로 비동기 이벤트 방식으로 동작한다. 로드밸런스, HTTP 캐시, 리버스 프락시 등의 기능을 기본으로 제공한다.

 

  • GWS

 - 구글이 제공하는 웹 서버이다.

 

 

웹 서버는 동적페이지, 로그인 및 세션 관리, 다중 웹 호스팅, Quality of Service (QoS) 제한 등 다양한 기능을 자체적으로 제공하거나, 확장 모듈을 이용하여 제공한다.

 

 

 

반응형

'웹 프로그래밍 기초' 카테고리의 다른 글

Canvas  (0) 2021.10.17
파일 다운로드 회고  (2) 2021.09.08
[CSS3] overflow  (0) 2021.07.05
[HTML] Mark Up literal  (0) 2021.06.06
HTML/CSS 웹 프로그래밍 복습(2)  (0) 2021.05.19

댓글