- OpenResty完全開發指南:構建百萬級別并發的Web應用
- 羅劍鋒
- 552字
- 2019-07-25 11:55:07
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。
- Python編程自學手冊
- PyTorch自然語言處理入門與實戰
- Visual Basic程序設計教程
- Learning ArcGIS Pro
- 軟件測試技術指南
- 深入RabbitMQ
- Go語言精進之路:從新手到高手的編程思想、方法和技巧(2)
- Getting Started with Python and Raspberry Pi
- Laravel Application Development Blueprints
- 動手打造深度學習框架
- 算法設計與分析:基于C++編程語言的描述
- HTML5游戲開發實戰
- Shopify Application Development
- R語言實戰(第2版)
- Effective C++:改善程序與設計的55個具體做法(第三版)中文版(雙色)