1. 程式人生 > >Linux學習筆記十二周三次課 (4月25日)

Linux學習筆記十二周三次課 (4月25日)

nginx 訪問日誌 日誌切割 靜態文件

12.10 Nginx訪問日誌

技術分享圖片

技術分享圖片

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日)