본문 바로가기
컴퓨터공학/네트워크

웹서버 | 아파치 (Apache) 에 대한 기초 지식

by KISCH 2024. 8. 14.
반응형

 

웹서버 아파치를 사용하기 전에 기본적으로 알아야할 기초적인 지식을 정리했습니다. 장점과 단점, 아파치 기능 그리고 아파치 모듈에 대해 살펴보겠습니다.

 

목차

     

     

    아파치 HTTP 서버

     

    소개

    아파치는 오픈 소스 소프트웨어 그룹인 "아파치 소프트웨어 재단"에서 만든 웹서버 프로그램입니다. 웹서버는 서버에 접속한 사용자들에게 서비스를 제공하기 위해 사용하는 소프트웨어적 서버를 말합니다.

     

    장점 - 모듈이라는 개념으로 수많은 기능을 덧붙일 수 있어서 확장성이 아주 좋습니다. 서버 사이드 프로그래밍 언어나 DBMS, Perl, JSP(톰캣), APM(Apache, PHP, MySQL), WAMPP 등 다양한 프로그램과 연동됩니다.

     

     단점 - 기능이 많고 연동이 많이 되면 당연히 프로그램 자체가 무거워질 수 밖에 없습니다. NGINX가 빠르고 가벼워 아파치를 대신해 많이 쓰이고 있는 상황입니다.

     

    기능

    웹서버의 기본 기능은 클라이언트에게 요청을 받아 응답을 보내는 것입니다. 추가적인 기능들을 살펴 볼까요?

     

    1) 동적 모듈 적재 방식 - 정적 모듈 방식과 선택적 설치가 가능합니다.

    2) 자동 인덱싱 - 클라이언트의 디렉토리 인덱스 요청에 해당 디렉토리 인덱스를 반환

    3) .htaccess - 디렉토리 관련 설정 파일로 허가, 인증, URL, 스팸봇, SSL 등을 설정합니다.

    4) URL - mod_rewrite 확장 모듈을 이용해 URL을 동적으로 리다이렉트합니다.

     

    구조

    /etc/httpd - 홈 디렉토리

    • /etc/httpd/conf/httpd.conf - 설정파일
    • /etc/httpd/conf.d - 추가 애플리케이션 설정 위치
    • /etc/httpd/logs - 로그 파일 위치
    • /etc/httpd/modules - 모듈 위치
    • /etc/httpd/run - 프로세스 PID 위치

    /var/www

    • /var/www/html - 기본 리소스 경로로 도큐먼트루트
    • /var/www/cgi-bin - CGI 파일들이 실행될 위치
    • /var/www/error - 에러코드별 에러파일 위치
    • /var/www/icons - 이미지아이콘 파일들 위치

    /usr/sbin - 아파치와 관련된 명령어, PATH설정

     

     

     

     

    아파치 모듈

     

    핵심 기능과 다중처리 모듈(MPM)

    다중 처리 모듈(Multi-Processing Module)은 아파치 웹 서버에서 여러 클라이언트의 요청을 동시에 처리해야 하므로 다중 처리 모듈을 사용합니다.

     

    core

    Prefork - 하나의 요청에 대해 하나의 자식 프로세스가 생성되어 처리. 안정성이 높지만 메모리 사용량이 많아집니다.

    Worker - 하나의 자식 프로세스 안에 여러 개의 스레드를 사용하여 요청을 처리합니다. 스레드간 동기화 문제가 발생할 수 있습니다.

    Event - Worker MPM과 비슷하지만, 이벤트 드리븐 방식을 사용하여 성능을 개선

     

    다른 모듈

    mod_access - 클라이언트 호스트명이나 IP주소로 접근을 제어합니다.

    mod_alias - URL을 매칭

    mod_autoindex - 디렉토리 목록을 출력하는 모듈

    mod_auth - .htaccess 파일을 이용한 사용자 인증

    mod_cgi - CGI 실행을 위해 필요

    mod_dir - 필수모듈. 기본적이 디렉토리 처리

    mod_log_config - 필수모듈, 로그파일을 기록합니다.

    mod_mine - 필수모듈로 파일확장자에 따라 문서유형을 파악

    mod_vhost_alias - 가상호스트를 설정

     


     

    관련포스트
    웹서버 | Apache
    웹서버 | 아파치 mode_rewrite 확장 모듈
    301 리다이렉트 설정하는 방법 (.htaccess)
    아파치기초
    반응형

    댓글