달력

02

« 2012/02 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  •  
  •  
  •  

'apache'에 해당되는 글 2

  1. 2009/03/11 APM운영시 사이트가 느려질때 점검사항
  2. 2008/07/01 su 명령 제한하기
아파치 접속이 느려졌을때 일반적으로 참고할 부분
 
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 : 옵션에 대한 도움말을 보여준다.



Posted by 根™
2008/07/01 17:55

su 명령 제한하기 tip/APM2008/07/01 17:55

일반사용자들이 수퍼유저계정으로 변경을 하려면 su라는 명령어를 쓰게된다.

만약 su명령을 몇몇 사람들에게만 쓸수 있게 하려한다면 다음과 같이하면 된다.

]# vi /etc/pam.d/su

#%PAM-1.0
auth       sufficient   /lib/security/pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth       sufficient   /lib/security/pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth       required     /lib/security/pam_wheel.so use_uid               => 주석을 제거한다.
auth       required     /lib/security/pam_stack.so service=system-auth
account    required     /lib/security/pam_stack.so service=system-auth
password   required     /lib/security/pam_stack.so service=system-auth
session    required     /lib/security/pam_stack.so service=system-auth
session    optional     /lib/security/pam_xauth.so

위 설정은 wheel 그룹에 속한 사용자들만이 su 명령을 쓸수 있다는 것을 말한다.

wheel은 이러한 목적으로 사용될 수 있는 특별한 계정이다. 따라서 wheel 이외의 그룹은 위와같이 사용될 수없다. 

위 설정에서 wheel 그룹에 속한 사람만이 su 명령을 사용할 수있게 했으므로 su 명령을 써야하는 계정이 있다면 wheel 그룹에 추가시켜 주어야한다. 만약 in4mania 라는 계정을 wheel 그룹으로 추가하려면 다음과 같이한다.

다음 명령에서 G는 그룹을 나타내며, 10은 wheel 에 해당하는 값이다.

]# usermod -G10 in4mania

 

출처 리눅스베이

Posted by 根™