nginx日志配置
日志格式通過 log_format命令來定義:
格式定義如下: '"remote_addr" "request" "request_time" '
日志格式允許包含的變量解釋如下:
$remote_addr, $http_x_forwarded_for (反向) 記錄客戶端IP地址
$remote_user ?記錄客戶端用戶名稱
$request ?記錄請求的URL和HTTP協(xié)議
$status ? 記錄請求狀態(tài)
$body_bytes_sent ?發(fā)送給客戶端的字節(jié)數(shù),不包括響應(yīng)頭大小
$byte_sent ?發(fā)送給客戶端的總字節(jié)數(shù)
$http_referer ?記錄從哪個頁面鏈接訪問過來的
$http_user_agent 記錄客戶端瀏覽器相關(guān)信息
$request_length ?請求的長度
$request_time ?請求的處理時間
$time_local ?通用日志格式下的本地時間
一般的nginx日志有兩個:
在server端 : 配置access_log命令,用來指定日志文件的存放路徑、格式和緩存大小
還有個error.log ,日志級別有: debug info notice warn error crit 默認為crit ,最好改為error或者warn級別
負載均衡
upstream是Nginx的HTTP Upstream模塊,這個模塊通過一個簡單的調(diào)度算法來實現(xiàn)客戶端IP到后臺服務(wù)器的負載均衡。目前支持4種調(diào)度算法:
1. 輪詢(默認)
2. ip_hash 。 每個請求按訪問IP的hash結(jié)果分配
3. fair。 這是比上面兩個更加智能的負載均衡算法
4. url_hash。 此方法按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務(wù)器。
upstream 支持的狀態(tài)參數(shù)
down, 表示當前的server暫時不參與負載均衡
backup, 預(yù)留的備份機器
max_fails, 允許請求失敗的次數(shù),默認為1.
fail_timeout 在經(jīng)歷了max_fails 次失敗后,暫停服務(wù)的時間。 max_fails 可以和 fail_timeout一起使用