<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Nginx是一個開放原始碼的高效能HTTP和反向代理伺服器,負責處理Internet上某些最大站點的負載。在管理NGINX網路伺服器時,你要執行的最常見任務之一就是檢查紀錄檔檔案。
在對伺服器或應用程式問題進行故障排除時,知道如何設定和讀取紀錄檔非常有用,因為它們提供了詳細的偵錯資訊。
Nginx用兩種型別的紀錄檔記錄其事件:存取紀錄檔和錯誤紀錄檔。存取紀錄檔記錄有關使用者端請求的資訊,錯誤紀錄檔記錄有關伺服器和應用程式問題的資訊。
本教學概述瞭如何設定和讀取Nginx存取和錯誤紀錄檔。設定Nginx存取紀錄檔的格式與位置,設定錯誤紀錄檔格式與位置,預設的紀錄檔檔案所在位置,讀取和理解Nginx紀錄檔檔案每個欄位。
每當處理客戶請求時,Nginx都會在存取紀錄檔中生成一個新記錄。每個事件記錄都包含一個時間戳,幷包含有關使用者端和所請求資源的各種資訊。存取紀錄檔可以顯示存取者的位置,存取者的存取的頁面等。
log_format
指令允許你定義記錄紀錄檔的格式。 access_log
指令啟用並設定紀錄檔檔案的位置和使用的格式。
access_log
指令的最基本語法如下:
access_log log_file log_format;
其中 log_file
是紀錄檔檔案的完整路徑, log_format
是紀錄檔檔案使用的格式。可以在 http
, server
或 location
指令的上下文中啟用存取紀錄檔。
預設情況下,Nginx主組態檔中的 http
指令設定了全域性存取紀錄檔格式。
http { ... access_log /var/log/nginx/access.log; ... }
/etc/nginx/nginx.conf
為獲得更好的可維護性,建議為每個伺服器設定一個單獨的存取紀錄檔檔案。在 server
指令中設定的 access_log
指令將覆蓋在 http
指令中設定的 access_log
。
http { ... access_log /var/log/nginx/access.log; ... server { server_name domain.com access_log /var/log/nginx/domain.access.log; ... } }
/etc/nginx/conf.d/domain.com.conf
如果未指定紀錄檔格式,Nginx將使用預定義的combined組合格式,如下所示:
log_format combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
要更改紀錄檔記錄格式,請覆蓋預設設定或定義一個新設定。例如,定義一個名為 main
的新紀錄檔記錄格式,它將用新增 X-Forwarded-For
header的值來擴充套件 combined
格式,在 http
或 server
中新增以下定義指令:
log_format custom '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
要使用新紀錄檔格式,請在紀錄檔檔案後指定其名稱,如下所示:
access_log /var/log/nginx/access.log custom;
雖然存取紀錄檔提供了非常有用的資訊。但它會佔用磁碟空間,並可能影響伺服器效能。如果伺服器資源不足,並且網站繁忙,則可能要禁用存取紀錄檔。為此,請將 access_log
偽指令的值設定為 off
。理論上你不會出現這種情況,Nginx會自動刪除前期的紀錄檔檔案:
access_log off;
Nginx將應用程式和常規伺服器錯誤的訊息寫入錯誤紀錄檔檔案。如果你在Web應用程式中遇到錯誤,則錯誤紀錄檔是你開始進行排查問題的第一個位置。 error_log
指令啟用並設定錯誤紀錄檔的位置和嚴重性級別。它採用以下格式,可以在 http
, server
或 location
上下文中進行設定:
error_log log_file log_level
log_level
引數設定紀錄檔記錄級別。以下是按嚴重性從低到高列出的級別:
debug info notice warn error crit alert emerg
每個紀錄檔級別包括更高階別。例如,如果你將紀錄檔級別設定為 warn
,則Nginx還將記錄 error
, crit
, alert
和 emerg
訊息。未指定 log_level
引數時,預設為 error
。預設情況下, error_log
指令在主nginx.conf檔案內的 http
指令上下文中定義:
http { ... error_log /var/log/nginx/error.log; ... }
/etc/nginx/nginx.conf與存取紀錄檔相同,建議為每個伺服器設定一個單獨的錯誤紀錄檔檔案,該檔案將覆蓋更高階別的設定如http指令上下文。例如,要將domain.com的錯誤紀錄檔設定為 warn
,你可以使用:
http { ... error_log /var/log/nginx/error.log; ... server { server_name domain.com error_log /var/log/nginx/domain.error.log warn; ... } }
無論何時修改組態檔,都必須重新載入Nginx服務,以使更改生效。
在大多數Linux發行版中,例如Ubuntu ,CentOS和Debian。預設情況下,存取和錯誤紀錄檔位於 /var/log/nginx
目錄中。
你可以使用 cat
, less
, grep
, cut
, awk
等命令開啟和解析nginx紀錄檔檔案。以下是使用預設的Nginx紀錄檔格式的存取紀錄檔檔案的記錄:
192.168.33.1 - - [15/Oct/2019:19:41:46 +0000] "GET / HTTP/1" 200 396 "-" "Mozilla/0 (X11; Linux x86_64) AppleWebKit/536 (KHTML, like Gecko) Chrome/38120 Safari/536"
讓我們細分Nginx紀錄檔檔案記錄的每個欄位意味著什麼:
$remote_addr
– 192.168.33.1
-發出請求的使用者端的IP地址。$remote_user
– -
-HTTP身份驗證使用者。未設定使用者名稱時,此欄位顯示 -
。[$time_local]
– [15/Oct/2019:19:41:46 +0000]
本地伺服器時間。
"$request"
– "GET / HTTP/1.1"
-請求型別,路徑和協定。$status
– 200
-伺服器響應程式碼。$body_bytes_sent
– 396
-伺服器響應的大小(以位元組為單位)。"$http_referer"
– "-"
-引薦網址。"$http_user_agent"
– Mozilla/5.0 ...
-使用者端的使用者代理(網路瀏覽器)。使用 tail
命令實時觀看紀錄檔檔案記錄: tail -f access.log
到此這篇關於設定 Nginx 存取與錯誤紀錄檔的文章就介紹到這了,更多相關Nginx 錯誤紀錄檔內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45