nginx网站日志配置

用yum安装的nginx的日志默认安装在路径:/var/log/nginx

nginx配置文件:
/etc/nginx/nginx.conf (总配置文件)
/etc/nginx/conf.d/default.conf (网站级别的配置文件)

如果要使用nginx默认配置的日志格式,并改变日志的存储位置,可以在/etc/nginx/conf.d/default.conf 的server中直接添加日志文件的路径:
access_log /root/ss/log/ss-access.log
error_log /root/ss/log/ss-error.log

#下面这段发现是错了,会导致css和图片无法加载,暂时没找到原因!!!!!!!!!!
如果要设置nginx不保存突图片、css、js文件的访问记录,在/etc/nginx/conf.d/default.conf 的server中直接添加:
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
    access_log off;
}
location ~ .*.(js|css)?$
{
    access_log off;
}

--------------------------------------

这个设置之后,静态文件不显示的问题终于解决了:::

需要设置一个server级别的root!!(网站根目录)而不仅仅是在location / 中设置root的值。

server {
  6     listen       80 default_server;
  7     server_name www.xxx.com;
  8
  9     root /html/;
 10
 11     # Load configuration files for the default server block.
 12     include /etc/nginx/default.d/*.conf;
 13
 14     location / {
 15         root /html/;
 16         index index.html;
 17         proxy_set_header Host $host;
 18         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 19
 20         access_log /html/log/access.log main;
 21         error_log /html/log/error.log error;
 22     }
 23
 24     location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
 25         access_log off;
 26     }

-----------------------------------------------------------------------------------------



使用logrotate进行日志切分:
vim /etc/logrotate.d/nginx (编辑配置文件)

参数:

compress:通过gzip 压缩转储旧的日志
nocompress:不需要压缩时,用这个参数
copytruncate:用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate:备份日志文件但是不截断
create mode owner group:使用指定的文件模式创建新的日志文件
nocreate:不建立新的日志文件
delaycompress:和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress:覆盖 delaycompress 选项,转储同时压缩。
errors address:专储时的错误信息发送到指定的Email 地址
ifempty:即使是空文件也转储,这个是 logrotate 的缺省选项。
notifempty:如果是空文件的话,不转储
mail address:把转储的日志文件发送到指定的E-mail 地址
nomail:转储时不发送日志文件
olddir directory:转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
noolddir:转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript:在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript:在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
sharedscripts:所有的日志文件都轮转完毕后统一执行一次脚本
daily:指定转储周期为每天
weekly:指定转储周期为每周
monthly:指定转储周期为每月
rotate count:指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
size size:当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB

dateext : 日志名称使用日期。

原文地址:https://www.cnblogs.com/hqqq/p/6262006.html