Day12 Nginx實戰訓練營

2021-10-02 17:57:39 字數 2132 閱讀 4285

web伺服器的訪問日誌是非常重要的,我們可以通過訪問日誌來分析使用者的訪問情況,

也可以通過訪問日誌發現一些異常訪問,比如cc攻擊。

格式: access_log /path/to/logfile format;

access_log 可以配置到 http, server, location 配置段中。

server 

說明:若不指定log_format,則按照預設的格式寫日誌。

資料:

或location ~* ^.+\.(gif|jpg|png|css|js)$

如果任由訪問日誌寫下去,日誌檔案會變得越來越大,甚至是寫滿磁碟。

所以,我們需要想辦法把日誌做切割,比如每天生成乙個新的日誌,舊的日誌按規定時間刪除即可。

實現日誌切割可以通過寫shell指令碼或者系統的日誌切割機制實現。

#!/bin/bash

logdir=/var/log/nginx //定義日誌路徑

prefix=

`date -d "-1 day" +%y%m%d`

//定義切割後的日誌字首

cd$logdir

for f in

`ls *.log`

domv

$f$f-$prefix //把日誌改名

done

/bin/kill -usr1 $(

cat /usr/local/nginx/logs/nginx.pid 2>/dev/null)

2>/dev/null //生成新的日誌,後者 reload nginx 也可以。

bzip2 *$prefix //壓縮日誌

find

. -type f -mtime +180 |

xargs /bin/rm -f //刪除超過180天的老日誌

/data/logs/*log
最後再 crontab -e 新增

0 0 * * * /bin/bash /usr/local/nginx/sbin/log_rotate.sh
資料:

對於純文字的內容,nginx 是可以使用 gzip 壓縮的。使用壓縮技術可以減少對頻寬的消耗。

由 ngx_http_gzip_module 模組支援

配置如下:

gzip on; //開啟gzip功能

gzip_min_length 1024; //設定請求資源超過該數值才進行壓縮,單位位元組,有的小檔案越壓縮越大

gzip_buffers 16 8k; //設定壓縮使用的buffer大小,第乙個數字為數量,第二個為每個buffer的大小

gzip_comp_level 6; //設定壓縮級別,範圍1-9,9壓縮級別最高,也最耗費cpu資源

gzip_disable "msie 6\."

; //ie6瀏覽器不啟用壓縮

測試:

curl -i -h 「accept-encoding: gzip, deflate」

對於靜態檔案,需要設定乙個過期時間,這樣可以讓這些資源快取到客戶端瀏覽器,

在快取未失效前,客戶端不再向服務期請求相同的資源,從而節省頻寬和資源消耗。

配置示例如下:

nginx絕大多數情況下都是作為**或者負載均衡的角色。

因為前面章節已經介紹過以下引數的含義,在這裡只提供對應的配置引數:

}}資料:

阿里天池Python訓練營1 2

member 張三 李四 劉德華 劉六 周潤發 for each in member print each 張三 李四 劉德華 劉六 周潤發 for i in range len member print member i print len member 張三 李四 劉德華 劉六 周潤發each ...

前端小白訓練營DAY2

先布好局 html文件宣告格式是html5.0 春雪title type text css body style head 春雪h1 韓愈p 新年都未有芳華,li 二月初驚見草芽。li 白雪卻嫌春色晚,li 故穿庭樹作飛花。li ul div body html 春雪title type text ...

天池python訓練營Day4

學習python過程中我們會遇到大量的資料,這時候列表就可以發揮它的作用,儲存大量資料,讓計算機去讀取和操作.a code block list i 小軍 小紅 小李 小軍 小紅 小李 是乙個列表,小紅 等是列表裡的元素 var foo bar 從列表裡提取元素 a code block list ...