標(biāo)簽:
用accessJog指令指定服務(wù)器日志文件存放路徑
用log_format指令設(shè)置了日志格式之后,需要用access_log指令指定日志文件存放路徑。access_log指令的語(yǔ)法如下:
access_logpath[format[buffer=sizeIoff]]
其中path表示日志文件的存放路徑,format表示使用log_format指令設(shè)置的日志格式的名稱(chēng),buffer=size表示設(shè)置內(nèi)存緩沖區(qū)的大小,例如可以設(shè)置buffer=32k。(1)如果不想記錄日志,可以使用以下指令關(guān)閉日志記錄:access_logoff;
(2)如果想使用默認(rèn)的《^*匕&格式的日志記錄,可以使用以下示例:access_log/datal/logs/filename.log;
或者
access_log/datal/logs/filename.logcombined;
(3)如果想使用自定義格式的日志記錄,可以使用以下示例,其中的myl0gf0rmat是日志格式名稱(chēng):
log_formatmylogformat’$remote_addr-$remote_user[$time_local]”$request”‘
‘$status$body_bytes_sent”$http_referer”*
‘H$http__user_agentM$http_x_forwarded_for’;
access_log/datal/logs/access.Iogmylogformatbuffer=32k;
(4)在噸丨狀0.7.4之后的版本中,IBM服務(wù)器指令中的日志文件路徑可以包含變量,例如:access_log/datal/logs/$server_name.logcombined;
假設(shè)server_name指令設(shè)置的虛擬主機(jī)名稱(chēng)為test.domain.com,那么access_log指令將把訪(fǎng)問(wèn)日志記錄在/datal/logs/test.domain.com.log文件中。
如果日志文件路徑中含有變量,將存在以下一些限制:
(1)Nginx進(jìn)程設(shè)置的用戶(hù)和組必須有對(duì)該路徑創(chuàng)建文件的權(quán)限。假設(shè)Nginx的user指令IBM服務(wù)器代理設(shè)置的用戶(hù)名和用戶(hù)組都是www,而他131爪^/目錄的用戶(hù)名和用戶(hù)組為root,日志文件/dataMogs/test.domain.com.log將無(wú)法被Nginx創(chuàng)建;
(2)緩沖將不會(huì)被使用;
(3)對(duì)于每一條日志記錄,日志文件都將先打開(kāi)文件,宿遷波仔再寫(xiě)入日志記錄,然后馬上關(guān)閉。為了提高包含變量的日志文件存放路徑的性能,須要使用open_log_file_cache指令設(shè)置經(jīng)常被使用的日志文件描述符緩存。
open_log_file_cache指令主要用來(lái)設(shè)置含有變量的日志路徑的文件描述符緩存,它的語(yǔ)法如下:
open_log_file_cachemax=N[inactive=time][min_uses=N][valid=time]Ioff
該指令默認(rèn)是禁止的,等同于:open_log_file—cacheoff; .
open_log_file_cache指令的各項(xiàng)參數(shù)說(shuō)明如下:
max:設(shè)置緩存中的最大文件描述符數(shù)量。如果超過(guò)設(shè)置的最大文件描述符數(shù)量,則采用LRU(LeastRecentlyUsed)算法清除“較不常使用的文件描述符”。LRU(LeastRecentlyUsed)算法的基本概念是:IBM服務(wù)器當(dāng)內(nèi)存緩沖區(qū)剩余的可用空間不夠時(shí),緩沖區(qū)盡可能地先保留使用者最常使用的數(shù)據(jù),將最近未使用的數(shù)據(jù)移出內(nèi)存,騰出空間來(lái)加載另外的數(shù)據(jù)。
inactive:設(shè)置一個(gè)時(shí)間,如果在設(shè)置的時(shí)間內(nèi)沒(méi)有使用此文件描述符,則自動(dòng)刪除此描述符。此參數(shù)為可選參數(shù),默認(rèn)的時(shí)間為10秒鐘。
min_uses:在參數(shù)^^^^^指定的時(shí)間范圍內(nèi),如果IBM服務(wù)器日志文件超過(guò)被使用的次數(shù),則將該日志文件的描述符記入緩存。默認(rèn)次數(shù)為1。
valid:設(shè)置多長(zhǎng)時(shí)間檢查一次,看一看變量指定的日志文件路徑與文件名是否仍然存在^默認(rèn)時(shí)間為60秒。
off:禁止使用緩存。
open_log_file_cache指令的設(shè)置不例如下:open_log_file_cachemax=1000inactive=20smin_uses=2valid=lm
|