Windows 2003에서 아파치(Apache2.2)와 톰캣을 연동하여 웹서버를 구축하였다.
그리고 특별한 문제 없이 웹 사이트가 잘 운영되고 있었다.
어느날 우연히 시스템 관리자가 웹서버를 하루에 한번 이상씩 재부팅을 해주고 있음을 알게 되었다.
httpd.exe 프로세스가 메모리가 줄지 않고 계속 증가하여 결국 서버다운이 되어
사전에 방지하기 위해 서버를 주기적으로 재부팅한다는 사실 -_-;;
여러 루트를 통해 정보를 수집한 결과
가장 많은 답변이 ...
"왜 Windows에서 아파치 톰캣을 돌리냐 리눅스로 바꾸세요" 였다
맞는 말이지만... 개발 환경이 항상 원하는대로 되나 -_-;;
결론
OS문제를 떠나 메모리 누수가 발생하여 계속 증가하는 것으로 판단.
프로그램 소스에 문제가 없다는 가정하에 ... 아파치 환경파일 수정
httpd.conf 에서 주석(#) 제거
...
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf
...
extra/httpd-mpm.conf 에서 MaxRequestsPerChild 해당 부분 수치 조정
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt_module>
ThreadsPerChild 150
MaxRequestsPerChild 1000
</IfModule>
MaxRequestsPerChild 숫자
자식 프로세스가 숫자 만큼 요청을 처리후 종료된다는 의미 (0은 종료없이 계속 실행)
Description:
Limit on the number of requests that an individual child server will handle during its life
Syntax: MaxRequestsPerChild number
Window에서 아파치+톰캣 연동시 httpd.exe 메모리 누수 관련
-
아파치 httpd.conf 재시작 없이 설정 적용하기
-
톰캣 8 소개
-
리눅스 아파치 로그 뷰어 webalizer, utf-8로 변환하기
-
Webalizer Configuration – Configure Webalizer for SEO
-
Webalizer, AWStats에서 국가 정보 확인하기
-
Webalizer에서 국가별 로그 출력하기
-
Apache: A good Webalizer.conf for the Webalizer Apache Log Analyzer utility
-
아파치 로그분석 webalizer 설치
-
Permission denied: .htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
-
Permission denied: /home/.htaccess pcfg_openfile: unable to check htaccess file
-
pcfg_openfile: unable to check htaccess file, ensure it is readable
-
Tomcat 버전별 설명
-
Apache 실행환경을 nobody 사용자로 변경
-
리눅스 사용자 계정별 웹서버 운영하기
-
Apache 서버에서 확장자 .htm 파일 내의 php 코드가 실행되지 않는 문제 해결 방법
-
php 웹사이트에서 파일을 업로드 하는중 100%에서 멈춰버리는 현상 해결
-
Apache Struts 버전 확인 방법
-
robots.txt를 현명하게 사용하는 방법
-
robots.txt 파일(로봇배제 표준)
-
Windows / apache_2.4.3 + php_5.4.10 + mod_fcgid_2.3.7