♣ 아파치 접속이 느려졌을때 일반적으로 참고할 부분
1.해당 서버로 ping test를 한다.
time 값이 20이하면 네트워크는 이상이 없다.
(참고) ping test시 ping이 안 될 경우도 있다.
이럴때는 네트워크 이상일 수도 있지만 해당서버에서 ICMP를 차단해 놓았기 때문일 수도
있다.
이런 경우에는 서버관리자에게 문의해 본다.
예) ping yahoo.co.kr
2. 아파치 웹로그를 살펴본다
경로 : /usr/local/apache/logs
웹로그는 최대 생성할 수 있는 크기가 2G이며, 웹 로그의 크기가 커질수록 로그 파일을 읽어서 제일 하단에 로그를 쌓아야 하므로 로그파일이 클수록 웹 접속속도가 떨어지며, 사이트 접속자가 많은 경우에는 아예 웹사이트 자체에 아예 접속이 되지 않기도 한다.
따라서, 정기적으로 아파치 로그파일을 관리해주어야 한다.
⑴ 로그 파일이 쌓였을 때 삭제하는 방법.
? 명령어 : rm-rf access_log -> access_log 파일을 삭제.
rm-rf error_log -> error_log 파일을 삭제.
⑵ 아파치 로그파일이 쌓이지 않게 설정하는 법
로그파일이 쌓이지 않게 설정하기 전에 먼저 아파치 로그파일을 삭제 후 설정한다.
ln -s /dev/null /usr/local/apache/logs/access_log
ln -s /dev/null /usr/local/apache/logs/error_log
수정 후 아파치를 다시 시작해 준다.
명령어 : apachectl restart
3. 현재 80번 포트를 사용해서 웹에 접속중인 사용자들의 현황을 살펴본다.
netstat -nap | grep :80 | grep EST | wc -l 등의 명령을 사용하면 현재 웹에 접속되어 있는 프로세서 수를 확인할 수 있다. 이 수가 httpd.conf에서 설정한 Maxclient와 가깝거나 혹은 더 많지는 않은지 살펴본다.
max client 256 -> 1024 (아파치 동시접속자 수를 256에서 1024로 늘림)
수정후 아파치를 다시 시작해 준다.
apachectl restart
httpd -V 로 확인 (정상적으로 수정되었는지 확인)
4. top 명령으로 현재 cpu의 사용률이나, 메모리 사용량 등을 체크해본다.
아파치 데몬으로 오랜시간 동안 접속이 유지되어있는 좀비 프로세서가 있는지 확인하다.
있을 경우 해당 프로세서를 강제 종료한다.
명령어 : top
빠져 나올 때 : Ctrl 키 + c 키
프로세서 강제 종료하는 법
명령어 : kill -KILL ‘PID Number’
예) top 프로세서를 강제종료 할 경우.
kill -KILL 13917
※ 위의 점검을 위해서는 기본적으로 아파치 데몬 실행명령어에 익숙해야 한다.
? apachectl 이란?
apachectl - 아파치 웹서버 조절 인터페이스.
apachectl은 아파치 하이퍼텍스트 전송 프로토콜 (HTTP) 서버의 앞단이다.
이 프로그램은 관리자가 아파치 httpd 데몬을 조정하도록 돕는다.
apachectl command
옵션
-start
아파치 httpd 데몬을 시작한다. 이미 실행중이라면 오류를 낸다. apachectl -k start와 같다.
명령어 : apachectl start
-stop
아파치 httpd 데몬을 중단한다. apachectl -k stop과 같다.
명령어 : apachectl stop
-restart
아파치 httpd 데몬을 재시작한다. 데몬이 실행중이 아니라면, 시작한다. 데몬이 재시작시 실패하지 않음을 확인하기 위해 재시작 전에 자동으로 configtest 명령과 같이 설정파일을 검사한다. apachectl -k restart와 같다.
명령어 : apachectl restart
-graceful
아파치 httpd 데몬을 점잖게(gracefully) 재시작한다. 데몬이 실행중이 아니라면, 시작한다. 일반적인 재시작과 달리 현재 열려있는 연결을 끊지 않는다. 또, 이전 로그파일을 즉시 닫지 않는다. 즉, 로그순환 스크립트에서 이 명령을 사용한다면, 이전 로그파일을 처리하기전에 로그파일을 닫혔음을 보장하기 위해 상당히 기다려야 한다. 아파치가 재시작시 실패하지 않음을 확인하기위해 재시작 전에 자동으로 configtest 명령과 같이 설정파일을 검사한다. apachectl -k graceful과 같다.
명령어 : apachectl graceful
-configtest
설정파일의 문법을 검사한다. 설정파일을 읽고 Syntax Ok 혹은 특정 설정오류에 대한 자세한 정보를 알려준다. apachectl -t와 같다.
아래 옵션을 사용할 수 있지만, 앞으로 사라질 것이다.
명령어 : apachectl configtest
- help : 옵션에 대한 도움말을 보여준다.
1.해당 서버로 ping test를 한다.
time 값이 20이하면 네트워크는 이상이 없다.
(참고) ping test시 ping이 안 될 경우도 있다.
이럴때는 네트워크 이상일 수도 있지만 해당서버에서 ICMP를 차단해 놓았기 때문일 수도
있다.
이런 경우에는 서버관리자에게 문의해 본다.
예) ping yahoo.co.kr
2. 아파치 웹로그를 살펴본다
경로 : /usr/local/apache/logs
웹로그는 최대 생성할 수 있는 크기가 2G이며, 웹 로그의 크기가 커질수록 로그 파일을 읽어서 제일 하단에 로그를 쌓아야 하므로 로그파일이 클수록 웹 접속속도가 떨어지며, 사이트 접속자가 많은 경우에는 아예 웹사이트 자체에 아예 접속이 되지 않기도 한다.
따라서, 정기적으로 아파치 로그파일을 관리해주어야 한다.
⑴ 로그 파일이 쌓였을 때 삭제하는 방법.
? 명령어 : rm-rf access_log -> access_log 파일을 삭제.
rm-rf error_log -> error_log 파일을 삭제.
⑵ 아파치 로그파일이 쌓이지 않게 설정하는 법
로그파일이 쌓이지 않게 설정하기 전에 먼저 아파치 로그파일을 삭제 후 설정한다.
ln -s /dev/null /usr/local/apache/logs/access_log
ln -s /dev/null /usr/local/apache/logs/error_log
수정 후 아파치를 다시 시작해 준다.
명령어 : apachectl restart
3. 현재 80번 포트를 사용해서 웹에 접속중인 사용자들의 현황을 살펴본다.
netstat -nap | grep :80 | grep EST | wc -l 등의 명령을 사용하면 현재 웹에 접속되어 있는 프로세서 수를 확인할 수 있다. 이 수가 httpd.conf에서 설정한 Maxclient와 가깝거나 혹은 더 많지는 않은지 살펴본다.
max client 256 -> 1024 (아파치 동시접속자 수를 256에서 1024로 늘림)
수정후 아파치를 다시 시작해 준다.
apachectl restart
httpd -V 로 확인 (정상적으로 수정되었는지 확인)
4. top 명령으로 현재 cpu의 사용률이나, 메모리 사용량 등을 체크해본다.
아파치 데몬으로 오랜시간 동안 접속이 유지되어있는 좀비 프로세서가 있는지 확인하다.
있을 경우 해당 프로세서를 강제 종료한다.
명령어 : top
빠져 나올 때 : Ctrl 키 + c 키
프로세서 강제 종료하는 법
명령어 : kill -KILL ‘PID Number’
예) top 프로세서를 강제종료 할 경우.
kill -KILL 13917
※ 위의 점검을 위해서는 기본적으로 아파치 데몬 실행명령어에 익숙해야 한다.
? apachectl 이란?
apachectl - 아파치 웹서버 조절 인터페이스.
apachectl은 아파치 하이퍼텍스트 전송 프로토콜 (HTTP) 서버의 앞단이다.
이 프로그램은 관리자가 아파치 httpd 데몬을 조정하도록 돕는다.
apachectl command
옵션
-start
아파치 httpd 데몬을 시작한다. 이미 실행중이라면 오류를 낸다. apachectl -k start와 같다.
명령어 : apachectl start
-stop
아파치 httpd 데몬을 중단한다. apachectl -k stop과 같다.
명령어 : apachectl stop
-restart
아파치 httpd 데몬을 재시작한다. 데몬이 실행중이 아니라면, 시작한다. 데몬이 재시작시 실패하지 않음을 확인하기 위해 재시작 전에 자동으로 configtest 명령과 같이 설정파일을 검사한다. apachectl -k restart와 같다.
명령어 : apachectl restart
-graceful
아파치 httpd 데몬을 점잖게(gracefully) 재시작한다. 데몬이 실행중이 아니라면, 시작한다. 일반적인 재시작과 달리 현재 열려있는 연결을 끊지 않는다. 또, 이전 로그파일을 즉시 닫지 않는다. 즉, 로그순환 스크립트에서 이 명령을 사용한다면, 이전 로그파일을 처리하기전에 로그파일을 닫혔음을 보장하기 위해 상당히 기다려야 한다. 아파치가 재시작시 실패하지 않음을 확인하기위해 재시작 전에 자동으로 configtest 명령과 같이 설정파일을 검사한다. apachectl -k graceful과 같다.
명령어 : apachectl graceful
-configtest
설정파일의 문법을 검사한다. 설정파일을 읽고 Syntax Ok 혹은 특정 설정오류에 대한 자세한 정보를 알려준다. apachectl -t와 같다.
아래 옵션을 사용할 수 있지만, 앞으로 사라질 것이다.
명령어 : apachectl configtest
- help : 옵션에 대한 도움말을 보여준다.