通過Nginx日志減少服務器負載可以從多個方面入手,主要包括日志輪轉、日志分析和日志壓縮等。以下是具體的優化措施:
/var/log/nginx/access.log {
daily;
rotate 14;
missingok;
notifempty;
compress;
delaycompress;
create 0640 www-data www-data;
sharedscripts;
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 cat /var/run/nginx.pid;
fi
endscript
}
# 統計PV、UV數
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -20
# 統計訪問最多的Referer
cat access.log | awk -F ' ' '{print $10}' | sort | uniq -c | sort -nr | head -20
# 統計訪問最高的URI
cat access.log | awk -F ' ' '{print $9}' | sort | uniq -c | sort -nr | head -20
# 統計訪問最多的IP和User-Agent
cat access.log | awk -F ' ' '{print $1}' | sort | uniq -c | sort -nr | head -20
http {
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 5;
gzip_min_length 256;
gzip_types text/plain application/xml application/json application/javascript text/css;
}
通過上述措施,可以有效減少Nginx日志對服務器資源的占用,提高服務器的整體性能。