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...