본문 바로가기

WEB서버

Apache DSO에 대하여...

원본 http://blog.naver.com/vmunix/80001162781

DSO - Dynamic Shared Object

동적모듈이란 무엇인가?

아파치 헬기를 예로 들어보자.

아파치 헬기는 대전차 공격용 헬리콥터로 일반인에게도 유명하다.

헬기가 전투에 투입될때항상 동일한 무기를 장착하는가?

아니다.

탱크를 사냥할대는 대전차 로켓을 장착하고,

교량을 폭파할때는 또 다른 무기를 장착할 것이다.

물론 모든 무기를 장착하면 좋겠지만 연료소비가 많아지고 순발력이 떨어질것은 분명하다.

아파치 서버역시 원하는 모듈(무기?)만을 장착하고 실행시킬수 있다.

이를 DSO 방식이라 하고 장착할수 있는 모듈을 DSO모듈이라 부른다.

PHP모듈도 DSO 방식으로 올리고 내릴수 있다.

DSO 모듈을 만드는 방법은 두가지가 있다.

첫번째, 아파치를 컴파일할때 DSO로 만들 모듈을 지정하는 방식.

두번재, 아파치 컴파일후 apxs (APache eXtenSion) 라는 유틸리티를 이용하여 모듈을 만드는 방식. (예: /usr/local/apache2/bin/apxs -i -a -c /usr/local/src/httpd-2.0.48/modules/mappers/mod_rewrite.c)

DSO모듈은 아파치root디렉토리(/usr/local/apache) 및 "moduldes" 디렉토리에 생성된다.

STATIC, DSO 방식의 결정은 아파치를 컴파일할때 결정되며

# ./configure --enable-so

옵션이 있냐, 없냐에 따라 DSO냐, STATIC이냐가 결정된다.

모듈장착은 아파치서버 설정화일인 httpd.conf에

LoadModule php4-module modules/libphp4.so

이런식으로 모듈이름을 적어주면 아파치가 시작하면서 모듈을 적재한다.

'WEB서버' 카테고리의 다른 글

[펌]아파치2 + SSL  (0) 2011.10.16
[펌]apache1.3x 에 ssl 설치  (0) 2011.10.16
apache 2.0.52 ssl 설정법  (0) 2011.10.16
configure 옵션  (0) 2011.10.16
CENTOS + apache2 + mysql5 + php5 + jdk + resin2  (0) 2011.10.16