출처: https://aury524.tistory.com/22#google_vignette
1. 소스 패키지 설치 단계 (configure / make / make install)
configure : 설치 전에 여러가지 옵션을 지정해주고 컴파일 환경을 검사하는 단계
make : 미리 정해진 스크립트를 따라 소스 코드를 컴파일 해주는 도구
make install : 컴파일이 완료된 뒤 설치
2. 필요한 라이브러리 설치 : apr, apr-util, pcre, apache
Apache
정적 파일의 웹서비스를 담당하는 웹서버
APR(아파치 포터블 런타임), APR-util
Apache가 설치된 OS에 관계 없이 일정한 동작을 하기 위해 필요한 라이브러리
아파치 HTTP 서버의 핵심 고급 IO 기능에 대한 접근
OS 수준의 기능(난수 생성, 시스템 상태)
기본 프로세스 처리(공유 메모리, NT 파이프와 유닉스 소켓) 등 많은 용도로 사용
PCRE(Perl Compatible Regular Expressions)
펄 호환 정규 표현식으로 정규식 패턴 일치를 구현하는 함수의 집합
3. apache 소스 설치 과정
※ wget : 웹 서버로부터 콘텐츠를 가져오는 컴퓨터 프로그램
apr 설치
apr-util 설치
PCRE 설치
Apache 설치
컴파일 내용
--prefix=/usr/local/apache/
: 컴파일된 프로그램을 /usr/local/apache/ 위치에 설치
--enable-so
: mod so가 제공하는 DSO 기능을 사용
--enable-rewrite
: mod rewrite가 제공하는 규칙기반 URL 조작 기능을 사용
--with-apr=/usr/local/apr
: httpd 소스 배포본에 포함된 APR 자동으로 웹서버와 같이 컴파일
--with-apr-util=/usr/local/apr-util
: httpd 소스 배포본에 포함된 APR-util 자동으로 웹서버와 같이 컴파일
--enable-ssl
: mod_ssl이 제공하는 SSL/TLS 기능을 사용한다.
--with-ssl=/usr/local/openssl
: mod_ssl 을 사용하는 경우 configure는 설치된 OpenSSL을 찾음
--enable-mods-shared=most
: 대부분의 모듈을 DSO 모듈로 컴파일 함
--with-pcre=/usr/local/pcre
: httpd 소스 배포본에 포함된 pcre 자동으로 웹서버와 같이 컴파일
★
--with-mpm=prefork
: apache 2.4 버전은 기본 event 형식으로 해당 옵션 제외
4. apache configure 확인
--config-cache
: --cache-file=config.cache와 같음
--cache-file=FILE
:검사 결과를 FILE 파일에 캐싱함, 기본값은 검사결과를 기록 X
--no create
: configure 스크립트를 정상적으로 실행하지만, 출력파일은 만들지 X, 컴파일을 위한 makefile을 만들기 이전에 검사 결과 확인에 유용
--quite
: 실행중에 checking ... 문구 출력 X
--srcdir=DIR
: DIR 디렉토리를 소스파일 디렉토리로 지정
--prefix=/usr/local/apache
: 아키텍쳐에 독립적인 파일을 /usr/local/apache 설치
--enable-MODULE=shared
: 해당 모듈을 DSO 모듈로 컴파일함
--enable-MODULE=static
: 포함하는 모듈은 기본적으로 정적으로 링크
5. apache 서버 prefork, worker 방식
prefork 방식
미리 포크(fork)함
자식 프로세스들을 일정량 미리 준비해두는 방식
프로세스당 스레드 1개
자식 프로세스는 최대 1024개까지 가능
스레드간 메모리 공유 안함(독립적이라 안정적, 메모리 사용 많음)
StartServers : 아파치 시작시 생성되는 기본 프로세스 개수
MinSpareServers : 최소 프로세스의 개수
MaxSpareServers : 최대 프로세스의 개수
MaxClients : 아파치 시작시 최대로 실행할 자식프로세스의 개수
worker 방식
프로세스 당 스레드 여러 개
메모리 공유 사용(메모리 사용량 적음, 통신량 많은 서버에 적절, 리소스 경합 주의 필요)
StartServers : 아파치 시작시 생성되는 기본 프로세스 개수
ServerLimit : 최대 실행가능한 프로세스 개수
MaxClients : 최대동시접속자수
MinSpareThreads : 최소로 유지할 쓰레드 개수
MaxSpareThreads : 최대로 유지할 쓰레드 개수
ThreadsPerChild : 하나의 자식프로세스가 가질 수 있는 쓰레드 개수
MaxRequestsPerChild : 자식프로세스가 살아있는동안 요청을 받을 개수
'프로그램 활용 > 웹서버' 카테고리의 다른 글
[리눅스/CentOS 7] Apache 2.4 설치(+mod_ruid2) (1) | 2023.12.03 |
---|---|
Tomcat(aphache-tomcat) 컴파일 설치 (0) | 2023.12.02 |
CentOS 8/7에서 Apache Tomcat 9를 설치 및 구성하는 방법 (2) | 2023.11.28 |
리눅스 centos7 환경에서 war파일로 export된 웹 프로젝트를 배포 (1) | 2023.11.28 |
웹서버] Apache + 다중 톰캣 설치(서비스 여러개 No) (0) | 2023.11.28 |