1. 로그 경로 및 레벨 설정
access_log /var/log/nginx/access.log combined;
error_log / var/log/nginx/error.log crit;
=> <접근 및 에러 로그> <로그 경로> <출력 형식>;
2. 로그 사용 예제
- 아파치 로그 포맷 예제
log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sents "$http_referer" ' '"$http_user_agent" "$http_x_forwared_for" ';
- 404 에러 기록 해제
log_not_found off
- 가상호스별로 서버로그 설정 가능 : 서버별로 로그 설정
3. 로그 파일 캐시의 설정
http {
open_log_file_cache max=1000 inactive=20s min_user=2 valid=1m;
...
}
=> Max : 캐시에 저장되는 최대 기술자 수 | inactive : 시간 설정 값으로서 이 시간 후에는 이 시간 동안 사용되지 않은 기술자는 제거 | min_used : inactive 매개 변수 안에 지정된 시간 내에 파일이 사용된 최소 회수를 설정, 이 횟수가 넘으면 파일 기술자는 캐시 파일안에 놓임 | valid : 파일이 여전히 같은 이름으로 존재하는지 체크할 때까지의 시간값
4. 로그 스테이션 설정
- 로그 기록 시 효율적인 로그 저장(페도라, 데비안 사용) : logrotate.conf
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
notifempty
create 640 root adm
sharedescripts
postrotate
[ ! -f /var/run/nginx.pid ] || kill -USRI 'cat /var/run/nginx.pid'
endscript
}
5. PHP FCGI / WSGI 개념
- 엔진엑스는 아파치와 달리 PHP 모듈이 내장되어 있지 않으며 코어 모듈과 서드파티 모듈을 통해 CGI, FCGI, SCGI, WSGI와 같은 표준 프로토콜을 지원하는 독립형 웹 서버 형태를 유지함