2016년 3월 6일 일요일

아파치 이미지파일 로그 안나오게 하기

웹서버를 운영하다 보면 Apache log 가 엄청나게 많이 쌓인다.
logrotate 가 실행되고 있다면 어느 정도 로그가 정리가 되겠지만 아니라면 로그가 쌓여서 서버가 엄청 느려질 수도 있다.
로그를 완전히 안나오게 할 수도 있지만 이미지 관련 로그라도 줄여보자.

<VirtualHost *:80>
    ...
    SetEnvIfNoCase Request_URI "\.(swf|png|gif|jpg|ico)$" NO_LOG
    CustomLog logs/mydomain.com-access_log common env=!NO_LOG
    ...
</VirtualHost>
mod_setenvif 모듈이 사용가능한지 먼저 확인이 필요하다.
/etc/httpd/conf/httpd.conf 파일에서 아래 부분이 있는지 확인하자.
LoadModule setenvif_module modules/mod_setenvif.so
"\.(swf|png|gif|jpg|ico)$" 이 부분에 이미지파일은 아니지만 자주 사용되는 js, css 를 추가해줘도 된다.
=> "\.(swf|png|gif|jpg|js|css|ico)$"

▶ 아파치 재시작 없이 로그 지우기
cat /dev/null > /var/log/httpd/access_log
아파치 데몬이 수행중일대 rm 명령어로 로그를 지우면 그 이후로 로그가 기록되지 않는다.
아파치를 멈추고 rm 명령어로 지우고 다시 시작하던지 아니면 위와 같은 방법으로 해주던가 해야한다.

▶ 아파치 로그 안쌓이게 하기
ErrorLog /dev/null
CustomLog /dev/null common
httpd.conf 나 VirtualHost 에 위 내용을 넣고 아파치를 재시작 하면된다.

출처 : http://itrooms.tistory.com/91