通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。
打开nginx.conf配置文件:vi /usr/local/nginx/conf/nginx.conf
日志部分内容:
#access_log logs/access.log main;
日志生成的到Nginx根目录logs/access.log文件,默认使用“main”日志格式,也可以自定义格式。
默认“main”日志格式: 参数明细表:
| $remote_addr | 客户端的ip地址(代理服务器,显示代理服务ip) |
|---|---|
| $remote_user | 用于记录远程客户端的用户名称(一般为“-”) |
| $time_local | 用于记录访问时间和时区 |
| $request | 用于记录请求的url以及请求方法 |
| $status | 响应状态码,例如:200成功、404页面找不到等。 |
| $body_bytes_sent | 给客户端发送的文件主体内容字节数 |
| $http_user_agent | 用户所使用的代理(一般为浏览器) |
| $http_x_forwarded_for | 可以记录客户端IP,通过代理服务器来记录客户端的ip地址 |
| $http_referer | 可以记录用户是从哪个链接访问过来的 |
日志配置和及切割
原理 使用定时器 定时移动日志文件 并重命名
/etc/init.d/rsyslog start #系统日志,如不开启,看不到定时任务日志
/etc/rc.d/init.d/crond start #定时任务开启
#/etc/rc.d/init.d/crond stop #定时任务停止
编写sh:
#!/bin/bash#设置日志文件存放目录LOG_HOME="/usr/local/nginx/logs/"#备分文件名称LOG_PATH_BAK="$(date -d yesterday +%Y%m%d%H%M)"#重命名日志文件mv ${LOG_HOME}/access.log${LOG_HOME}/access.${LOG_PATH_BAK}.logmv ${LOG_HOME}/error.log${LOG_HOME}/error.${LOG_PATH_BAK}.log#向nginx主进程发信号重新打开日志kill -USR1 `cat ${LOG_HOME}/nginx.pid`
配置cron:
crontab -u root -e#输入*/1 * * * * /usr/local/nginx/sbin/logcut.sh#查看定时任务crontab -l
