Linux學習筆記十二周三次課 (4月25日)
vim /usr/local/nginx/conf/nginx.conf //搜索log_format
$remote_addr //客戶端P(公網IP)
$http_x_forwarded_for //代理服務器的IP
$time_local //服務器本地時間
$host //訪問主機名(域名)
$request_uri //訪問的url地址
$status //狀態碼
$http_referer //referer
$http_user_agent //user_agent
vim /usr/local/nginx/conf/vhost/test.com.conf //編輯配置文件,在server裏增加下面一行
----------------------------------------------------------------------------
access_log /tmp/test.com.log combined_realip
----------------------------------------------------------------------------
這裏的combined_realip就是在nginx.conf中定義的日誌格式名字
/usr/local/nginx/sbin/nginx -t //檢查配置是否有錯
/usr/local/nginx/sbin/nginx -s reload //重新加載,也可以重啟服務
curl -x127.0.0.1:80 test.com -I
cat /tmp/test.com.log
12.11 Nginx日誌切割
vim /usr/local/sbin/nginx_log_rotate.sh //寫入如下內容
------------------------------------------------------------------------------------
#!/bin/bash
##假設nginx的日誌存放路徑為/data/logs/
d='date -d "-1 day" + %Y%m%d' //類似於20180427,昨天的日期,今天28日
logdir="/data/logs"
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir
for log in 'ls *.log'
do
mv $log $log-$d
done
/bin/kill -HUP 'cat $nginx_pid'
--------------------------------------------------------------------------------------
添加任務計劃#crontab -e //寫入如下內容
0 0 * * * /bin/bash /usr/local/sbin/nginx_logrotate.sh //每天淩晨0點執行
12.12 靜態文件不記錄日誌和過期時間
vim /usr/local/nginx/conf/vhost/test.com.conf //編輯配置文件,在server裏增加下面一行
--------------------------------------------------------------
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 7d;
access_log off;
}
location ~ .*\.(js|css)$
{
expires 12h;
access_log off;
}
--------------------------------------------------------------
location匹配;\脫意;expires過期時間;access_log off不記錄訪問日誌;
/usr/local/nginx/sbin/nginx -t //檢查配置是否有錯
/usr/local/nginx/sbin/nginx -s reload //重新加載,也可以重啟服務
測試
cd /data/wwwroot/test.com/
ls
vim 1.gif //隨便寫點東西
vim 2.js //隨便寫點東西
curl -x127.0.0.1:80 test.com/1.gif
curl -x127.0.0.1:80 test.com/2.js
cat /tmp/test.com.log
Linux學習筆記十二周三次課 (4月25日)