1. 아파치 2.0.xx 버전
기본 동시접속자수는 최대 256명. 이를 더 많은 숫자로 변경하기 위해서는 아래 파일 수정 후 재펌파일이 필요하다.
/apache/../server/mpm/prefork/prefork.c 파일에서
#define DEFAULT_SERVER_LIMIT 256
위에서 숫자 부분을 적당하게 늘려주고
/apache/../server/mpm/worker/worker.c 파일에서
#define DEFAULT_SERVER_LIMIT 16
위에서 숫자 부분을 적당하게 늘려준다.
예를 들어 prefork.c 파일에서 1280으로 늘려주었다면, worker.c 파일은 20으로 늘려주는데, 그 이유는 아래와 같다.
worker 방식은 기본적으로 16개의 child process와 그 안에 64개의 thread를 생성가능하므로, 16*64 = 1024가 된다. 따라서 prefork.c 파일에서 1280으로 늘려주게 되면, worker.c는
1280/64 = 20이 되므로 20으로 수정해 줘야 똑같이 1280명의 동시접속자가 가능하게 된다.
컴파일은 아래와 같이 수행한다.
기존에 /usr/local/apache 로 웹서비스를 사용중이라면
/usr/local/apache 가 아닌 다른 이름으로 컴파일 설치 하면 충돌없이 컴파일이 됩니다.
configure 는 컴파일 환경을 설정 해주는 것입니다.
./configure --prefix=/usr/local/apache2/
make
make install
하면 컴파일이 되겠습니다.
컴파일 후 /usr/local/apache 에 있는 설정 파일들을 /usr/local/apache2 에 복사한 후
웹사이트를 잠시 중지 할 수 있는 시간을 이용하여 apache 를 중지하고 apache2 를 가동하여
오류 여부등을 확인한 한다음 정상적으로 웹사이트가 운영이 된다면 apache 를
삭제(백업필수) 한 뒤 디렉토리명을 apache2 에서 apache 로 변경하여 정상 운영 하면 되겠습니다.
(물론 환경설정 부분이 수정될 수 있습니다. 꼼꼼히 체크 하는 것 잊지 마세요.)
2. 아파치 1.3.xx 버전
기본 동시접속자수는 최대 256명인데, 이는 MaxClients에 입력가능한 최대치를 말합니다.
256명 이상의 동시접속을 허용하고자 할 경우에는 아파치를 다시 재 컴파일해야 합니다.
아파치 디렉토리로 이동하여 ../src/include 안의 httpd.h 에서 다음과 같은 부분을 찾아
값을 높여 주시면 됩니다.
#define HARD_SERVER_LIMIT 512
위와같이 설정 한 후 http.h 파일을 재컴파일해야 정상적으로 적용이 됩니다.
만약 클라이언트가 512명 이상의 접속을 넘어서 이루어질 경우에는 다음과 같은 메시지가
로그파일에 남게 되며, 클라이언 트는 다른 요청의 접속이 끝날 때 까지 대기하거나
또는 특정시간이 지난 후 접속이 이루어질 수 없다는 메시지를 보여주게 된답니다 .
[error] server reached MaxClients setting, consider raising the MaxClients setting.
만약, 동시접속자 수를 기본 동시접속자 최대 수인 256명 미만으로 조정하고자 한다면,
재컴파일이 필요없이 아래 파일만 수정합니다.
../conf/httpd.conf
MaxClients 150
그리고, 아파치를 리스타트 하면 됩니다.
# apachectl restart
'WEB > Apache' 카테고리의 다른 글
아파치 시작시 패스워드 묻는 경우 패스워드 입력 자동화 (0) | 2010.03.25 |
---|---|
아파치서버 동시접속자수에 따른 메모리 산정 (대략) (0) | 2010.02.02 |
아파치 웹서버 보안설정 2 (0) | 2010.01.22 |
아파치 웹서버 보안 설정 (0) | 2010.01.22 |
아파치 Redirect 설정 (예전 주소 등 잘못된 주소를 현재 변경된 주소나 올바른 주소로 자동전환) (0) | 2010.01.22 |