nginx學習篇(三)配置檔案解析

2021-09-18 05:06:35 字數 2715 閱讀 5414

user:主模組命令, 指定nginx的worker程序執行使用者以及使用者組,預設由nobody賬號執行。

worker_processes:指定nginx要開啟的程序數。

error log:用來定義全域性錯設日誌檔案的路徑和日誌名稱。日誌輸出級別有debug,info,notice,warn,error,crit 可供選擇,其中debug輸出日誌最為詳細,面crit(嚴重)輸出日誌最少。預設是error。

pid:用來指定程序id的儲存檔案位置。

event:設定nginx的工作模式及連線數上限,其中引數use用來指定nginx的工作模式(這裡是epoll,epoll是多路復用io(i/o multiplexing)中的一種方式),nginx支援的工作模式有select ,poll,kqueue,epoll,rtsig,/dev/poll。其中select和poll都是標準的工作模式,kqueue和epoll是高效的工作模式,對於linux系統,epoll是首選。

worker_connection:是設定nginx每個程序最大的連線數,預設是1024,所以nginx最大的連線數max_client=worker_processes * worker_connections。程序最大連線數受到系統最大開啟檔案數的限制,需要設定ulimit。

}變數名

所代表的意義

$remote_addr

客戶端的ip位址(**伺服器,顯示**服務ip)

$remote_user

用於記錄遠端客戶端的使用者名稱(一般為「-」)

$time_local

用於記錄訪問時間和時區

$request

用於記錄請求的url以及請求方法

$status

響應狀態碼,例如:200成功、404頁面找不到等。

$body_bytes_sent

給客戶端傳送的檔案主體內容位元組數

使用者所使用的**(一般為瀏覽器)

可以記錄客戶端ip,通過**伺服器來記錄客戶端的ip位址

可以記錄使用者是從哪個鏈結訪問過來的

在我們工作中如果不對nginx的日誌進行處理就會越積越多,從而使得乙個日誌檔案變得超大,不利於我們分析日誌,所以我們可以利用定時任務每天、每個星期或者每個月切割一下日誌,分檔案儲存。

開啟nginx.conf配置檔案:vi /usr/local/nginx/conf/nginx.conf

日誌部分內容:

#access_log logs/access.log main;

日誌生成的到nginx根目錄logs/access.log檔案,預設使用「main」日誌格式,也可以自定義格式。

檢視日誌命令tail -f /usr/local/nginx/logs/access.log

/etc/init.d/rsyslog start #系統日誌,如不開啟,看不到定時任務日誌

/etc/rc.d/init.d/crond start #定時任務開啟

編寫 logcut.sh:

#!/bin/bash

#設定日誌檔案存放目錄

log_home="/usr/local/nginx/logs/"

#備分檔名稱

log_path_bak="$(date -d yesterday +%y%m%d%h%m)"

#重新命名日誌檔案

mv $/access.log $/access.$.log

#mv $/error.log $/error.$.log

#向nginx主程序發訊號重新開啟日誌

nginx_pid="$(cat $/nginx.pid)"

kill -usr1 $

chmod +x logcut.sh #賦權

配置cron: #系統定時任務

crontab -e #編輯新的定時任務

*/1 * * * * /usr/local/nginx/logcut.sh #每分鐘執行一次日誌切割

crontab -l #檢視當前有沒有定時任務

切割後的日誌:

刪除定時任務:

Nginx配置檔案解析之三

通過前面的分析,location部分的解析跟http和server是同樣的道理。來看下面兩句 ctx是在解析該location時生成的ngx http conf ctx t,自然它的main conf和srv conf都會繼承上層,而在本層重新設定loc conf,這裡我們看到,在location的...

Nginx配置檔案解析

nginx配置檔案解析 nginx配置檔案預設在 usr local nginx conf nginx.conf,配置檔案包括 全域性 event http server設定 event主要設定nginx的工作模式,http提供web功能 server用來設定虛擬主機,server必須位於http內...

nginx配置檔案解析

nginx為微核心加可擴充套件模組。自身模組有core event http mail等核心模組。開發者可以基於這些核心模組開發滿足自身業務需求的模組,主要是http模組。nginx的配置項的資料結構 struct ngx cycle sconf ctx是乙個指標陣列,陣列一共有ngx max mo...