상세 컨텐츠

본문 제목

[Liunx] APACHE 서버란?

프로그래밍/linux

by 2hansoul 2021. 7. 29. 16:35

본문

반응형

웹 서버

웹 서버는 우리가 인터넷에서 흔히 사용하는 웹 페이지가 들어있는 파일을 사용자에게

제공해주는 서버 프로그램으로, 시스템 소프트웨어라 불린다.

 

인터넷 사용자는 웹 브라우저를 통해 여러 페이지를 사용 하는데, 특정 페이지를 클릭할 경우

웹 서버로 HTTP 프로토콜을 이용해 페이지를 요청한다.

 

웹 서버는 클라이언트에게 HTML문서로 된 페이지를 웹 브라우저로 전달한다.

 

즉, 웹 서버의 주된 역할은 사용자가 요청한 페이지를 전달하는 것이다.

여기서 웹 브라우저는 클라이언트가 되며, 웹서버로부터 HTML 문서를 받아 사용자에게

보여줄 수 있는 중간자 역할을 수행한다.

 

웹 서버에는 아파치 웹서버, NginX, IIS 등 여러 종류가 있지만 여기서는 그 중 가장 인기있는

Apache 웹 서버에 대해 알아보려고 한다.

 

웹(Web)

- www(월드 와이드 웹)이라고도 불리며며 인터넷을 통한 정보공간이다.

- URL을 사용하고, HTML언어를 이용해 자원에 접근한다.

- 웹 브라우저를 통해 다른 페이지나 문서를 탐색한다.

- HTTP 프로토콜을 기반으로 운영된다.

 

웹 서버의 사용

1. 사용자 → 웹 브라우저 → HTTP 프로토콜 → 웹서버

2. 웹서버 (HTML문서)  → 웹 브라우저 → 사용자

목차>

1. Apache 웹 서버란?

2. Apache 와 PHP

3. Apache 웹 서버 2.x 버전의 MPM

4. 소스파일 다운로드 및 검증

 

APACHE 서버 

아파치 웹 서버는 가장 널리 사용되는 웹 서버중 하나로, 초기의 웹 서버인 NCSA httpd를

기반으로 만들어졌으며, 아파치 소프트웨어 재단에서 관리하고 있는 소프트웨어이다.

아파치 라이선스를 따르기 때문에 오픈소스로 공개되며 자유 소프트웨어로 무료로 사용할 수 있다.

 

리눅스나 윈도우 등 거의 모든 운영체제에서 사용할 수 있으며 구축이 쉽고,

다양한 추가기능을 가지고 있기 때문에 현재 가장 인기있는 웹서버로 이용되고 있다.

 

하지만 요청당 스레드를 처리하는 구조인 아파치는 요청량이 많아지면 메모리 사용량이 높아져

성능이 떨어질 수 있다는 단점이 있다. 

 

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

정적인 웹 서버는 단순히 HTML문서만을 사용자에게 제공하기 때문에 아파치 웹 서버 하나면 되지만,

동적인 웹 페이지는 사용자의 요구에 따라 다양한 웹 페이지를 제공한다.

이를 구성하기 위해서 리눅스에서는 주로 PHP라는 웹 프로그래밍 언어와

MySQL 데이터베이스를 연계해서 사용하는데, 이를 LAMP라고도 부른다.

(Linux Apache MySQL PHP)

 

핵심 설정파일

/etc/httpd/conf/httpd.conf

/etc/apache2/apache2.conf

 

 

Apache HTTP 서버와 PHP

 

PHP (Php Hypertext Preprocessor)는 서버 측에서 실행되는 언어로,

C언어를 기반으로 만들어진 웹 프로그래밍만을 위한 언어이다. 

 

동적 웹 페이지를 위해 사용되는 PHP는 스크립트 형식으로 되어있어 작성된 HTML코드 안에

추가해주면 서버에서 PHP 코드를 해석해서 웹 페이지를 생성한다.

 

PHP는 아파치서버와 주로 연계해서 사용하는데, 리눅스에 구축한 아파치 웹 서버에서

PHP 코드가 추가된 문서를 해석하기 위해서는 모듈이러는 것을 가지고 있어야 한다.

 

PHP 관련 모듈에는 정적모듈과 동적모듈 두 가지가 있다.

 

정적 모듈

아파치 서버에 정적 모듈을 사용하면 PHP가 아파치에 완전히 고정되고 처리속도가 빠르다.

따라서 사용자가 많은 서버에서는 정적모듈을 사용하는게 효율적이다.

 

단점으로는 아파치 서버나 PHP를 업데이트해야 하는 경우, 두 가지 모두 재설치가 필요하며,

속도는 빠르지만 항상 서버에 상주하고 잇어야 하므로 자원의 불필요한 낭비가 발생한다.

따라서 아파치 2.0버전 이후에는 동적모듈 방식으로만 설치가 가능하다.

 

 

동적 모듈

보통 DSO라 불리는 동적 모듈은 클라이언트의 요청이 있을 때 프로세스에 포함되는 방식이다.

언제든지 다른 모듈이나 라이브러리를 적재할 수 있고, 불필요한 자원의 낭비가 적어

동적 모듈에 비해서는 훨씬 효율적으로 사용할 수 있다.

 

HTML 코드 안에 PHP언어가 포함

웹 서버에서 PHP코드를 해석하기 위해 정적/동적 모듈 장착

서버에서 PHP코드를 해석해 동적 웹페이지 생성

 

centos7 에서 아파치 컴파일 설치 

https://hansoul.tistory.com/8

 

CentOS 7 apache 컴파일 설치 configure: error: in `/usr/local/src/apr-1.7.0':

[CentOS7] 컴파일 하여 아파치(Apache) 설치 ▶ 0. gcc 패키지 설치 # yum -y install gcc make gcc-c++ pcre-deve GCC 란?  - GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)는 GNU 프로젝트의..

hansoul.tistory.com

 

반응형

'프로그래밍 > linux' 카테고리의 다른 글

[Liunx] linux 의존성 삭제  (0) 2021.08.04
[Liunx] apache yum 설치  (0) 2021.07.30
[Liunx] dmesg 명령어  (0) 2021.07.26
[Liunx] 리눅스 서버 장애 원인 파악  (0) 2021.07.23
[Liunx] linux server reboot  (0) 2021.07.23

관련글 더보기

댓글 영역