리눅스 서버 운용 초보를 위한 간단한 정리 정보
리눅스 서버 운용 초보를 위한 간단한 정리본문
1. 로그를 볼줄 알아야.
문제의 99.9%는 로그를 보는 것으로 해결이 가능합니다.
httpd 로그: /etc/httpd/errors
일반 로그(업로드, 로그인 등) /var/lib/messages
로그인 관련 /var/lib/secure
mysql /var/lib/호스트네임.err
2. ssh 사용에 능숙해야.
ftp만 사용하다가 서버를 직접 운영하려면 낯선 환경에 당황하게 됩니다.
ssh 를 능숙하게 사용해야 서버 운영이 가능합니다.
3. ssh로 할 수 있는 일
top
서버의 프로세스 상태를 실시간으로 보여 줍니다.
첫줄이 중요한데
top - 16:37:11 up 38 days, 5:19, 1 user, load average: 0.40, 0.48, 0.43
up은 서버가 리부팅하지 않고 운영 중인 기간을 나타납니다
여기서 중요한 것이
load average: 0.40, 0.48, 0.43
처음은 1분 안의 서버 부하, 두번쨰는 5분, 세번째는 15분입니다.
1안에 들어가는 숫자면 최적의 상태라고 보며 2를 넘지 않으면 무난합니다.
이 숫자가 3이상 올라가면 서버를 점검할 필요가 있습니다.
아래 프로세스 리스트가 나오는데 %CPU를 보면 유달리 많이 사용하는 서비스가 있습니다.
이것을 조치해야 합니다.
보통은 kill -9 프로세스 아이디를 써서 죽입니다.
28033 mysql 20 0 1154m 191m 6580 S 5.0 0.6 4808:45 mysqld
맨 앞의 숫자가 아이디입니다.
mysqladmin processlist
보통 공격이 들어오거나 게시판에 스팸으로 인해 접속자가 많으면 mysqld가 100% 200%까지 넘어 갑니다.
이 경우는 mysqladmin processlist를 치면 현재 돌고 있는 mysql이 아노니 계속적인 접속이 이루어지는 디비를 찾아 조치를 취하면 됩니다.
사이트를 닫으면 되지만 그냥 /var/lib/mysql에서 해당 디비를 다른 곳으로 이동시키거나 이름을 바꾸어 버리는 것도 좋습니다.
그리고 부하를 다시 체크해 봅니다.
4. mysql 비번 자동화
mysqladmin processlist를 볼 때 비번을 쳐야 합니다.
이를 미리 저장해 두고 쓰면 간단합니다.
/root 아래에
.my.cnf를 만들어 다음을 넣어서 저장하면 됩니다.
[client]
user="root"
pass="mysql root 비번"
물론 ftp 안되니 ssh에서 에디터를 사용해야 겠지요.
5. 한글 사이트 보다 구글을
에러 메시지를 찾아서 구글에다 그대로 복사해서 치면 99% 해결책을 발견할 수 있습니다.
장황한 설명이 있지만 까막눈이면 넘거가고 실제 취한 명령어들이 나오니 타라하면 됩니다.
6. uptimerobot
아파치님께서 추천하셨던 건데 아주 유용합니다. 무료의 경우 5분마다 메일이나 트위터로 알려주니 서버가 죽으면 바로 조치가 가능합니다.
전 세계 60만대 이상 사용 중이라는데 그리 어려운 기술이 아닌데 서양친구들의 아이디어가 무섭네요.
1
댓글 4개
그럼, 그것 나름대로 스트레스일 것 같은뎅...ㅎ 아님, 혹, 다운시만 열주는지?