개발/서버

[Server] 웹 서버 개념과 기초

도넛의용기 2023. 7. 27. 06:14

안녕하세요,
이번 글에서는 웹 서버에 대해서 다루어 보겠습니다.

웹 서버는 인터넷을 통해 사용자들이 원하는 정보를 제공하고 서비스를 제공하는 데에 필수적인 기술입니다. 

그렇기 때문에 서버에 입문할 때 웹 서버에 대한 이해가 필요합니다.

먼저, 웹 서버의 개념부터 살펴보겠습니다. 

웹 서버는 인터넷 상에서 HTTP 프로토콜을 이용하여 클라이언트의 요청에 따라 웹 페이지나 파일 등을 제공하는 컴퓨터 프로그램입니다. 이를 위해서는 웹 서버 소프트웨어가 필요하며, 대표적인 웹 서버 소프트웨어는 Apache, Nginx, IIS 등이 있습니다.

웹 서버를 구축하는 방법은 여러 가지가 있으며, 대표적으로는 LAMP, WAMP, MAMP 등의 스택을 사용하는 방법이 있습니다. 이러한 스택은 리눅스, 윈도우, 맥 OS 등의 운영체제와 Apache, MySQL, PHP 등의 소프트웨어를 조합하여 웹 서버를 구축하는 방법입니다.

 

LAMP, WAMP, MAMP은 모두 웹 개발을 위한 스택(stack)입니다. 스택은 운영 체제, 데이터베이스, 웹 서버, 프로그래밍 언어 등 여러 가지 요소들이 함께 포함된 패키지를 의미합니다.

- LAMP: Linux, Apache, MySQL, PHP를 의미합니다. Linux 운영 체제, Apache 웹 서버, MySQL 데이터베이스, PHP 프로그래밍 언어로 구성되어 있습니다.
- WAMP: Windows, Apache, MySQL, PHP를 의미합니다. Windows 운영 체제에서 구동되는 LAMP와 같은 스택입니다.
- MAMP: Macintosh, Apache, MySQL, PHP를 의미합니다. Mac 운영 체제에서 구동되는 LAMP와 같은 스택입니다.

(LWM말고 A나 M,P도 상황에 따라서 달라질 수 있는데, A같은 경우에는 요즘 NginX등을 많이 쓰는 추세이고 MySql같은 경우에도 포스트그레SQL등 다른 데이터베이스를 이용할 수 있습니다.)


이러한 스택을 사용하면 개발 환경을 쉽게 설정할 수 있으며, 웹 애플리케이션을 개발하기 위한 필수 요소들이 미리 구성되어 있어 편리합니다.

 

현재 위의 스택말고도 JAM스택 (자바스크립트, API, 마크업)도 부상하고 있다고 합니다. 나중에 다른 글을 통해 다루어보는 시간을 갖도록 하겠습니다.

 

웹 서버를 구축하는 과정에서는 보안과 성능에 대한 고려가 필요합니다. 보안 측면에서는 HTTPS 프로토콜을 사용하거나 SSL 인증서를 적용하는 등의 방법으로 보안을 강화할 수 있으며, 성능 측면에서는 캐싱, 로드 밸런싱 등의 기술을 이용하여 서버의 부하를 줄일 수 있습니다.

 

보안과 성능에 대한 부분에 대해서도 추후에 다루어볼 예정입니다.

'개발 > 서버' 카테고리의 다른 글

[Spring Boot] 스프링 Initializr를 이용한 프로젝트 생성  (0) 2023.09.21