官术网_书友最值得收藏!

2.8 運行日志

日志是Web服務器非常重要的數字資產,它記錄了服務器運行期間的各種信息,可用于數據分析或者排查故障。

Nginx的運行日志分為兩種:記錄HTTP/TCP訪問請求的access_log和記錄服務器各種錯誤信息的error_log。

2.8.1 訪問日志

訪問日志保存了所有連接到服務器的客戶端訪問記錄,在訪問日志里可以記錄每次請求的IP地址、URI、連接時間、收發字節數等許多信息。大多數網站會定期收集訪問日志,然后使用大數據平臺進行加工處理,進而調整優化服務。

在Nginx里需要用兩個指令來設定訪問日志:

log_format name format_string;

access_log path [format [buffer=size] [flush=time]];

log_format指令定義日志的格式,格式字符串里可以使用變量(見2.4節)來任意記錄所需的信息,之后就可以用access_log指令決定日志的存儲位置和格式。為了優化磁盤讀寫,可以設置buffer和flush選項,指定寫磁盤的緩沖區大小和刷新時間。

例如,下面的配置使用了8KB的緩存,每1秒刷新一次,使用格式main:

log_format  main  '$remote_addr ... ';
access_log /var/logs/openresty/access.log main buffer=8k flush=1s;

2.8.2 錯誤日志

當Nginx運行發生異常時(例如拒絕訪問、緩沖區不足、后端不可用等)就會記錄錯誤日志。錯誤日志的格式不能自定義,存放位置由error_log指令確定:

error_log file level;

默認的日志存放位置是安裝目錄下的logs/error.log。我們也可以用參數file改為其他路徑。第二個參數level是日志的允許輸出級別,取值是“debug|info|notice|warn|error|crit|alert|emerg”,只有高于這個級別的日志才會記錄下來,默認值是error。

對于我們開發OpenResty應用來說error_log非常重要,優化系統、排查問題的時候首先要做的事情就是查看error_log。

主站蜘蛛池模板: 伽师县| 滁州市| 丘北县| 济源市| 沈丘县| 永州市| 蓬溪县| 大同县| 喀喇沁旗| 穆棱市| 天台县| 洪泽县| 政和县| 汕头市| 永春县| 嵊州市| 沧州市| 武安市| 云阳县| 上杭县| 长武县| 曲麻莱县| 上蔡县| 阳曲县| 蒙山县| 通河县| 吉木乃县| 乐东| 普安县| 九龙坡区| 曲阳县| 惠东县| 清河县| 鞍山市| 青神县| 锡林郭勒盟| 尤溪县| 黄石市| 阳东县| 图木舒克市| 阿拉善右旗|