nginx(四)初識nginx日誌檔案

2021-09-07 02:28:32 字數 2712 閱讀 3140

nginx 日誌相關指令主要有兩條,一條是log_format,用來設定日誌格式,另外一條是access_log,用來指定日誌檔案的存放路徑、格式和快取大小,通俗的理解就是先用log_format來定義自己想用的日誌格式,然後在用zccess_log定義虛擬主機時或全域性日誌時 在把定義的log_format 跟在後面;

1、log_format 格式

log_format       name( 格式名字)  格式樣式(即想要得到什麼樣的日誌內容)

預設的示例:

注釋:$remote_addr   與$

http_x_forwarded_for 用以記錄客戶端的ip位址;

$remote_user   :用來記錄客戶端使用者名稱;

$time_local  : 用來記錄訪問時間與時區;

$request  :  用來記錄請求的url與http協議;

$status     :  用來記錄請求狀態;成功是200,

$body_bytes_s ent  :記錄傳送給客戶端檔案主體內容大小;

$http_referer  :用來記錄從那個頁面鏈結訪問過來的;

$http_user_agent  :記錄客戶毒啊瀏覽器的相關資訊;

通常web伺服器放在反向**的後面,這樣就不能獲取到客戶的ip位址了,通過$remote_add拿到的ip位址是反向**伺服器的ip位址。反向**伺服器在**請求的http頭資訊中,可以增加x_forwarded_for資訊,用以記錄原有客戶端的ip位址和原來客戶端的請求的伺服器位址;

上面這個是漲宴老師的日誌例子;

2、用access_log指令日誌檔案存放路徑;

用了log_format 指令設定了日誌格式之後,需要用access_log指令指定日誌檔案的存放路徑;

access_log        path(存放路徑)                   format (自定義日誌名稱)

示例:#access_log             logs/access.log              main;

我們用log_format 定義了乙個mylogformat

的日誌 我們可以寫成這樣

access_log             logs/access.log         mylogformat ;

如果不想啟用日誌 :

access_log off ;

在定義日誌目錄中要注意的是,nginx程序設定的使用者和組必須有對該路徑 建立檔案的許可權,假設nginx的usr指令設定的使用者名稱 和使用者組都是www,而logs 目錄的使用者名稱和組是root,那麼日誌檔案將無法被建立;

3、nginx日誌檔案的切割:

[root@mgmserver logs]# ll

總計 48

-rw-r--r-- 1 root root  1891 09-02 14:59 192.168.0.28.access.log

-rw-r--r-- 1 root root   531 09-02 13:52 192.168.0.37.access.log

-rw-r--r-- 1 root root   531 09-02 13:52 192.168.0.38.access.log

[root@mgmserver logs]# mv 192.168.0.28.access.log /tmp/nginx.28.log

[root@mgmserver logs]# kill -usr1 `cat /usr/local/nginx/logs/nginx.pid `

[root@mgmserver logs]# ll

總計 36

-rw-r--r-- 1 nginx root   0 09-02 15:05 192.168.0.28.access.log

-rw-r--r-- 1 nginx root   531 09-02 13:52 192.168.0.37.access.log

-rw-r--r-- 1 nginx root   531 09-02 13:52 192.168.0.38.access.log

先把日誌拷貝出來,然後想nginx傳送訊號 ,讓nginx重新生成乙個日誌檔案;

4、nginx的壓縮輸出配置

nginx的壓縮輸出由一組壓縮指令來實現,gzip的壓縮輸出位於http 兩個大括號之間;

5、nginx自動列目錄配置;

可以在 某一虛擬主機的location /

目錄中配置自動列目錄,加上下面**:

location  .

nginx(四)初識nginx日誌檔案

nginx 日誌相關指令主要有兩條,一條是log format,用來設定日誌格式,另外一條是access log,用來指定日誌檔案的存放路徑 格式和快取大小,通俗的理解就是先用log format來定義自己想用的日誌格式,然後在用zccess log定義虛擬主機時或全域性日誌時 在把定義的log f...

nginx(四)初識nginx日誌檔案

nginx 日誌相關指令主要有兩條,一條是log format,用來設定日誌格式,另外一條是access log,用來指定日誌檔案的存放路徑 格式和快取大小,通俗的理解就是先用log format來定義自己想用的日誌格式,然後在用zccess log定義虛擬主機時或全域性日誌時 在把定義的log f...

nginx問題 初識 Nginx

nginx 是乙個免費的,開源的,高效能的http伺服器和反向 以及imap pop3 伺服器。nginx 以其高效能,穩定性,豐富的功能,簡單的配置和低資源消耗而聞名。很多高知名度的 都使用 nginx,如 netflix,github,soundcloud,maxcdn 等。nginx 有乙個主...