打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
nginx 日志相关配置总结

设置位于nginx.conf:
        log_format  main  '$server_name $remote_addr - $remote_user [$time_local] '$request' $status $body_bytes_sent '$http_referer' '$http_user_agent' '$http_x_forwarded_for' $upstream_addr $request_time $upstream_response_time';
        access_log /logs/nginx/access.log main;
        error_log /logs/nginx/error.log;
设置可以放在http{}中也可以放在server{}中,后者会针对每个server做不同配置. 
其中最应该关注的除了status,还有request_time 和upstream_response_time有一些细微的差别
request_time官网描述:request processing time in seconds with a milliseconds resolution; time elapsed between the first bytes were read from the client and the log write after the last bytes were sent to the client 。
指的就是从接受用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出
而真正程序的响应时间应该用$upstream_response_time。

日志自动切分:利用logrotate,首先安装Logrotate,
然后在/etc/logrotate.d 中加入一个文件(注意如果是nginx通过apt-get安装的话该步骤是自动的,所有通过apt-get安装的程序日志都会自动生成logrotate 配置)
配置类似于
logs/nginx/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
        sharedscripts
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
        postrotate
                [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
        endscript
}
该配置会按照天来切分.当然最好还要用
/usr/bin/find /logs/nginx -mtime  3 -name '*.log.*' -exec /bin/rm -r {} \;
配置到crontab中定期执行来清理多余的切分文件,否则容易磁盘溢出. 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
linux下logrotate 配置和理解
Nginx配置中的log_format用法梳理(设置详细的日志格式)
logrotate 日志轮询(转存)
Nginx日志分析和参数详解
nginx笔记(六)
Nginx之初识
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服