본문 바로가기
Back-End

웹 서버의 개념 Apache2 웹 서버 및 관련 기능 (1)

by blackjack_96 2022. 2. 26.

오늘은 가장 대표적인 웹 서버 프로그램 중 하나인

apache2의 기본적인 사용 방법을 알아보겠습니다.

 

 

1. 웹 서버 프로그램이란?

 

웹 서버란 무엇일까요?

이 글을 보시는 분들께서는 이미 웹이 어떠한 방식으로 작동하는지 알고 계실 것입니다.

 

클라이언트 측에서 서버로 HTTP Request를 통하여 원하는 웹 페이지를 요청하면,

서버는 그 요청받은 내용을 HTTP Response로 응답하여 줍니다.

 

이때 클라이언트는 어떤 걸 이용해서 HTTP Request를 보내죠?

바로 Web Browser라는 클라이언트 프로그램을 이용합니다!

 

여러분 께서 Chrome, Firefox, Internet Explorer와 같은 웹 브라우저 프로그램의 주소창에

URL을 입력하기만 하면,

웹 브라우저가 알아서 HTTP Request를 서버로 보내 주는 것이죠.

 

이제 서버는

웹 브라우저가 받은 HTTP Request를 받습니다.

 

그러면 무슨 일이 일어날까요?

 

클라이언트 측 컴퓨터에 Web Browser라는 프로그램이 깔려 있어서

HTTP REQUEST를 보내주는 것과 마찬가지로,

 

서버측 컴퓨터에는

HTTP REQUEST를 받아서

HTTP RESPONSE를 클라이언트로 송신해주는

Web Server라는 프로그램이 깔려 있습니다!

 

뭔가 생소합니다.

Web Browser는 우리들이 많이 사용하여 익숙하지만

대부분의 사람들은 Web Server라는 프로그램은 사용하는 경우가 별로 없으니까요..

 

그렇다면 이렇게만 이해하시면 됩니다.

 

클라이언트 측에는 HTTP Request를 만들어 서버로 보내주는 Web Browser가 설치 되어 있다

서버측에는 그 요청에 대한 응답을 만들어 클라이언트로 보내주는 Web Server라는 프로그램이 설치되어 있다

 

2. 대표적인 웹 서버 프로그램 Apache2

웹 서버 프로그램으로 많이 사용되는

apache2라는 소프트웨어의 기본 사용 방법을 알려 드리겠습니다.

 

웹 서버 프로그램은 여러가지가 있습니다.

apache2, ngnix 등등...

 

하지만 이러한 웹 서버 프로그램 모두 비슷한 부분이 많기 때문에,

하나의 웹 서버 프로그램의 기능만 익힌다면

나머지 서버 프로그램도 조금만 공부해서 충분히 다룰 수가 있게 됩니다.

 

먼저 apache2를 설치하여 봅시다.

apache2를 설치하였다면

실행해 봅시다.

 

apache2를 실행하는 명령어 입니다.

 

apache2를 실행하고 나서

htop을 이용하여,

현재 환경에서 실행중인 process들을 분석해 봅시다.

 

 

그랬더니

 

저는 apache2를 하나만 실행하였는데

apache2관련된 수많은 백그라운드 프로세스들이 저절로 생성되어 실행되고 있었습니다.

왜 그럴까요? 저는 단 한번만 apache2를 실행했을 뿐인데..

 

apache2는 웹 서버 프로그램입니다.

 

수많은 클라이언트들의 요청을 받고

그 요청에 대한 수많은 응답을 하는 역할을 제대로 수행하기 위해서

클라이언트들의 요청을 분산해서 처리하기 위한 수많은 프로세스들이 저절로 생성된 것입니다.

 

단위 시간당 클라이언트들의 요청이 증가하여 현재 생성된 프로세스들만으로 그 처리가 벅차다면

더 많은 프로세스들이 생성될 것입니다.

 

3. 실행된 웹 서버에 접속하기

웹 서버를 실행하였으니

실행된 웹 서버에 접속해 봅시다.

 

$ elinks http://localhost

현재 Shell에서

http://localhost

url에 접속하는 명령어 입니다.

 

 

웹 서버가 정상적으로 실행 중이라면,

그리고 그 서버에 성공적으로 접속하였다면

이러한 화면이 나올 것입니다.

 

본 글을 통하여 apache2 웹 서버 프로그램의 설치 / 실행 / 간단한 접속 방법에 대하여 알아보았고,

다음 포스팅 에서는 웹 서버의 여러 설정과 관련된 내용을 살펴보도록 하겠습니다.

감사합니다.

'Back-End' 카테고리의 다른 글

웹 서버의 개념 Apache2 웹 서버 및 관련 기능 (2)  (0) 2022.02.26