Nginx 三種分配策略:輪詢、權重、ip_hash(比如你登錄了一個網站,登錄信息已經保存到 a 機器,但當你做后續操作時的請求會到 b 機器,那么就獲取不到你原來登錄的信息,此時你就需要重新登錄了。這樣的情況是用戶肯定不能接受的,ip_hash 模式就可以很好地解決這個問題,讓每次訪問能基於同一用戶訪問固定的服務器。)
nginx日志存放路徑:nginx.conf
awk 常用參數是 -F 指定分隔符。
sed 常用的參數有:
a 表示新增;
i 表示插入;
c 表示取代;
d 表示刪除。
Sort 的默認方式就是把第一列根據 ASCII 值排序輸出。常用參數有:
-n,依照數值的大小排序;
-r,以相反的順序來排序;
-k,選擇以某個區間進行排序。
uniq 用於檢查或者統計文本出現的重復行,常用參數是 -c,它用於連續重復行次數的統計。
cat access.log |awk'{print $7}'|sort|uniq -c|sort -n -k -r
這個命令,是提取 acccess.log 的第 7 列,也就是接口路徑:
先 sort 排序,這樣可以將相同的接口訪問路徑合並一起;
再使用 uniq -c 統計連續訪問的次數;
最后根據訪問次數排序,便可以得到如下結果。
cat access.log |awk '{print $7}'|sort|uniq -c|sort -n -k 1 -r
87280 /hello/list
18892 /hello/map
12846 /v1/login
通過輸出結果可以看出第一列就是給定日志內的接口訪問次數統計,比如 87280 就是 /hello/list 的訪問次數。