打開nginx.conf配置文件:
vi /usr/local/nginx/conf/nginx.conf
日志部分內容:
日志生成的到Nginx根目錄logs/access.log文件,默認使用“main”日志格式,也可以自定義格式。
#access_log 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 |
可以記錄用戶是從哪個鏈接訪問過來的 |
查看日志命令
tail -f /usr/local/nginx/logs/access.log
日志配置和及切割
/etc/init.d/rsyslog start #系統日志,如不開啟,看不到定時任務日志
/etc/rc.d/init.d/crond start #定時任務開啟
編寫sh:
找到你想放置sh的地址
vi logcut.sh
#!/bin/bash #設置日志文件存放目錄 LOG_HOME="/usr/local/nginx/logs/" #備分文件名稱 LOG_PATH_BAK="$(date -d yesterday +%Y%m%d)" #重命名日志文件 mv ${LOG_HOME}/access.log ${LOG_HOME}/access.${LOG_PATH_BAK}.log mv ${LOG_HOME}/error.log ${LOG_HOME}/error.${LOG_PATH_BAK}.log #向nginx主進程發信號重新打開日志 kill -USR1 `cat ${LOG_HOME}/nginx.pid`
然后編寫完后賦權
chmod +x logcut.sh
賦權完配置定時任務
格式:cron表達式 你的sh腳本的地址
crontab -e
然后配置
*/1 * * * * /usr/local/nginx/sbin/logcut.sh