[LNMP] Nginx 접근 로그
1. 로그 형식 정의
[root@plinuxos ~]# vi /usr/local/nginx/conf/nginx.conf
log_format log001 '$remote_addr $http_x_forwarded_for [$time_local]'
' $host "$request_uri" $status'
' "$http_referer" "$http_user_agent"';
▎ Nginx 로그 형식:
$remote_addr
클 라 이언 트 IP (네트워크 IP)
$http_x_forwarded_for
프 록 시 IP
$time_local
서버 로 컬 시간
$host
호스트 이름 에 접근 (도 메 인 이름)
$request_uri
방문 한 url 주소
$status
상태 코드
$http_referer
referer
$http_user_agent
user_agent
2. 접근 로그 항목 추가
[root@plinuxos ~]# vi /usr/local/nginx/conf/vhost/default.conf
server
{
listen 80 default_server;
server_name aaa.com;
index index.html index.htm index.php;
root /data/wwwroot/default;
access_log /tmp/default.log log001;## , : , ,
}
3. 검사 와 과부하
[root@plinuxos ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@plinuxos ~]# /usr/local/nginx/sbin/nginx -s reload
4. 테스트 효과
[root@plinuxos ~]# curl -x127.0.0.1:80 aaa.com/index.html
“This is a default site.”
[root@plinuxos ~]# curl -x127.0.0.1:80 aaa1.com/index.html
“This is a default site.”
[root@plinuxos ~]# cat /tmp/default.log
127.0.0.1 - [12/Aug/2017:10:34:45 +0800] aaa.com "/index.html" 200 "-" "curl/7.29.0"
127.0.0.1 - [12/Aug/2017:10:34:52 +0800] aaa1.com "/index.html" 200 "-" "curl/7.29.0"
로그 절단
1. 로그 절단 스 크 립 트
[root@plinuxos ~]# vi /usr/local/sbin/nginx_log_rotate.sh
#! /bin/bash
d=`date -d "-1 day" +%Y%m%d`
logdir="/tmp/"
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir
for log in `ls *.log`
do
mv $log $log-$d
done
/bin/kill -HUP `cat $nginx_pid`
▎ KILL 인자:
2. 스 크 립 트 실행
[root@plinuxos tmp]# sh -x /usr/local/sbin/nginx_log_rotate.sh
++ date -d '-1 day' +%Y%m%d
+ d=20170811
+ logdir=/tmp/
+ nginx_pid=/usr/local/nginx/logs/nginx.pid
+ cd /tmp/
++ ls default.log
+ for log in '`ls *.log`'
+ mv default.log default.log-20170811
++ cat /usr/local/nginx/logs/nginx.pid
+ /bin/kill -HUP 89689
3. 효과 검사
[root@plinuxos tmp]# ls
default.log default.log-20170811 mysql.sock pear php-fcgi.sock
4. 정기 임무 계획
[root@plinuxos tmp]# crontab -e
0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh
5. 만 료 로그 정리
[root@plinuxos tmp]# find /tmp/ -name *.log-* -type f -mtime +10 |xagrs rm
## ,
정적 파일 은 로그 와 만 료 시간 을 기록 하지 않 습 니 다.
1. 프로필 편집
[root@plinuxos default]# vi /usr/local/nginx/conf/vhost/default.conf
server
{
listen 80 default_server;
server_name aaa.com;
index index.html index.htm index.php;
root /data/wwwroot/default;
access_log /tmp/default.log log001;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 7d;
access_log off;
}
location ~ .*\.(js|css)$
{
expires 12h;
access_log off;
}
}
2. 검사 및 과부하
[root@plinuxos default]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@plinuxos default]# /usr/local/nginx/sbin/nginx -s reload
3. 효과 검사
[root@plinuxos default]# ls
index.html pic001.gif
[root@plinuxos default]# curl -x127.0.0.1:80 aaa.com/pic001.gif -I
HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Sat, 12 Aug 2017 03:31:08 GMT
Content-Type: p_w_picpath/gif
Content-Length: 66698
Last-Modified: Sat, 12 Aug 2017 03:29:18 GMT
Connection: keep-alive
ETag: "598e760e-1048a"
Expires: Sat, 19 Aug 2017 03:31:08 GMT
Cache-Control: max-age=604800
Accept-Ranges: bytes
[root@plinuxos tmp]# curl -x127.0.0.1:80 aaa.com/pic001 -I
HTTP/1.1 404 Not Found
Server: nginx/1.12.1
Date: Sat, 12 Aug 2017 03:34:43 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
[root@plinuxos tmp]# cat /tmp/default.log
127.0.0.1 - [12/Aug/2017:11:34:43 +0800] aaa.com "/pic001" 404 "-" "curl/7.29.0"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로그인 기판 사용기판 팔레트에 로그인하는 방법 및 노드를 실행할 때 로그를 보는 방법(디버깅할 때 polkadot에서 기존 로그를 보는 데 유용할 수 있음). 팔레트/템플릿의 Cargo.toml에서 통나무 상자 가져오기 팔레트 템플...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.