日志文件配置与切割
自定义日志格式
http
{
server
{
listen 80 default;
server_name _*;
access_log logs/default.access.log combined;
location / {
index index.html;
root /data0/htdocs/htdocs;
}
}
}
其中的 access_log,就是用来配置日志路径的,
log_format 指令用于设置日志格式
如果不需要记录日志
access_log off;
combined是默认日志格式,一般不需要指定
如果需要使用 log_format 自定义的日志格式,如下
log_format myLogFormat 定义日志格式
access_log 路径 myLogFormat buffer=32k,其中buffer用来设置缓存
日志文件的切割
mv log log2015-01-01
kill -USR1 Nginx主进程号,让Nginx重新生成一个日志文件
这里是手动对日志进行的切割,如果想要定时对日志进行切割,需要写一个shell脚本
思路:写一个shell脚本,然后用crontab设置调用shell脚本的时间
vi /usr/local/nginx/sbin/cut_nginx_log.sh
输入
#!/bin/bash
# This script run at 00:00
# The Nginx logs path
logs_path="/usr/local/nginx/logs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/nginx.pid`
crontab -e
输入
00 00 * * * /bin/bash /usr/local/webserver/nginx/sbin/cut_nginx_log.sh
每天凌晨0点切割日志
原文:http://www.cnblogs.com/sherrykid/p/5831560.html