728x90



웹서버를 사용하는 입장에서 로그를 보는것은 아주 중요하다.

누가 접속했는지, 그리고 에러가 났다면 어떠한 에러가 났는지 확인할 수 있기 때문이다.

그래서 웹서버는 기본적으로 모든 접속,에러 로그를 관리한다.

여러분은 이번에 이 로그를 보는법, 수정하는 법에 대해서 알아보도록 하자.


일단 이를 보려면 nginx.conf파일에 접근해야한다.

해당 파일의 위치는 필자 포스팅의 운영체제별 nginx설치하기 하단에 설명되어있으므로 참고 바란다.


nginx.conf를 열어보면 http라는 구역이 있다.

뭐 전역이라고 생각해도 무방하다. 해당 파일을 열어서 보자.



cd <nginx 설정파일 위치>

vim nginx.conf



해당 설정을 열어보면 여러가지 설정이 있는걸 확인할 수 있다.

로그는 Logging Settings하단에 존재하는 두 녀석이다.



보통 기본적으로 두 위치에 저장된다.

이는 전역으로 저장되는데 모든 서버의 로그가 저장된다.

사실 이렇게 쓰는건 바람직하지 못하므로 각각 서버에 맞게 저장 위치를 따로 지정해주는게 좋다.

물론 전역으로도 저장시켜놓는게 좋다.



vim으로 켜보면 로그를 확인할 수 있다.



보통 http 내부에 server가 선언되지만 요즘에는 분할되서 include형식으로 사용되는 경우가 많다.

만약 http내부에 server가 있다면 그거 그냥 쓰고 없으면 해당 경로에 가서 수정해야한다.



해당 경로에 가보면 default라고 있다.

우리가 include해줬다면(혹은 기본으로 include되어있다면) 이 녀석 안에 server가 존재한다.



보면 서버에는 에러로그를 수집하는 코드가 없다.

우리가 추가해주자.



access_log /var/log/nginx/<서버이름>/access.log

error_log /var/log/nginx/<서버이름>/error.log


위처럼 추가해준다.

당연히 파일경로는 강제가 아니므로 바꿔도 된다.



cd /var/log/nginx

mkdir <서버이름>


위 처럼 반드시 지정한 폴더를 만들어 줘야한다.

안그러면 에러가 뜨면서 로그가 수집되지 않는다.

다행인건 access_log와 error_log를 만들 필요는 없다.



nginx -s reload


재시작을 해준다.


이제 신나게 접속을 해준다.



해당 경로에 error.log와 access.log가 생긴걸 확인할 수 있다.



들어가보면 로그가 이제 부터쌓이기 시작하는걸 확인할 수 있다.



전 글로벌 수집은 안하고 싶은데요!



그렇다면 위처럼 설정해주자.


access_log off - 접속 로그는 기록 안함.

log_not_found off - 이는 그냥 예제를 위해서 남겨놨는데 log파일 못찾는거 에러로 기록안하겠다는 뜻. 근데 나는 남겨두는게 편해서 남겨둠.

error_log <경로> crit - 전역에서는 보통 크리티컬한것만 남겨두는게 좋아서 crit구문을 사용


물론 다시 사작해주는거 잊지말고.

+ Recent posts