人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

聊聊配置?Nginx?訪問與錯(cuò)誤日志的問題

發(fā)布日期:2022-07-20 19:33 | 文章來源:gibhub

Nginx是一個(gè)開放源代碼的高性能HTTP和反向代理服務(wù)器,負(fù)責(zé)處理Internet上某些最大站點(diǎn)的負(fù)載。在管理NGINX網(wǎng)絡(luò)服務(wù)器時(shí),你要執(zhí)行的最常見任務(wù)之一就是檢查日志文件。

在對(duì)服務(wù)器或應(yīng)用程序問題進(jìn)行故障排除時(shí),知道如何配置和讀取日志非常有用,因?yàn)樗鼈兲峁┝嗽敿?xì)的調(diào)試信息。

Nginx用兩種類型的日志記錄其事件:訪問日志和錯(cuò)誤日志。訪問日志記錄有關(guān)客戶端請(qǐng)求的信息,錯(cuò)誤日志記錄有關(guān)服務(wù)器和應(yīng)用程序問題的信息。

本教程概述了如何配置和讀取Nginx訪問和錯(cuò)誤日志。配置Nginx訪問日志的格式與位置,配置錯(cuò)誤日志格式與位置,默認(rèn)的日志文件所在位置,讀取和理解Nginx日志文件每個(gè)字段。

配置Nginx訪問日志

每當(dāng)處理客戶請(qǐng)求時(shí),Nginx都會(huì)在訪問日志中生成一個(gè)新記錄。每個(gè)事件記錄都包含一個(gè)時(shí)間戳,并包含有關(guān)客戶端和所請(qǐng)求資源的各種信息。訪問日志可以顯示訪問者的位置,訪問者的訪問的頁面等。

log_format指令允許你定義記錄日志的格式。access_log指令啟用并設(shè)置日志文件的位置和使用的格式。

access_log指令的最基本語法如下:

access_log log_file log_format;

其中log_file是日志文件的完整路徑,log_format是日志文件使用的格式??梢栽?code>http,serverlocation指令的上下文中啟用訪問日志。

默認(rèn)情況下,Nginx主配置文件中的http指令配置了全局訪問日志格式。

http {
  ...
  access_log  /var/log/nginx/access.log;
  ...
}

/etc/nginx/nginx.conf

為獲得更好的可維護(hù)性,建議為每個(gè)服務(wù)器設(shè)置一個(gè)單獨(dú)的訪問日志文件。在server指令中設(shè)置的access_log指令將覆蓋在http指令中設(shè)置的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將使用預(yù)定義的combined組合格式,如下所示:

log_format combined '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_age

要更改日志記錄格式,請(qǐng)覆蓋默認(rèn)設(shè)置或定義一個(gè)新設(shè)置。例如,定義一個(gè)名為main的新日志記錄格式,它將用添加X-Forwarded-Forheader的值來擴(kuò)展combined格式,在httpserver中添加以下定義指令:

log_format  custom  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_age

要使用新日志格式,請(qǐng)?jiān)谌罩疚募笾付ㄆ涿Q,如下所示:

access_log  /var/log/nginx/access.log custom;

雖然訪問日志提供了非常有用的信息。但它會(huì)占用磁盤空間,并可能影響服務(wù)器性能。如果服務(wù)器資源不足,并且網(wǎng)站繁忙,則可能要禁用訪問日志。為此,請(qǐng)將access_log偽指令的值設(shè)置為off。理論上你不會(huì)出現(xiàn)這種情況,Nginx會(huì)自動(dòng)刪除前期的日志文件:

access_log off;

配置錯(cuò)誤日志

Nginx將應(yīng)用程序和常規(guī)服務(wù)器錯(cuò)誤的消息寫入錯(cuò)誤日志文件。如果你在Web應(yīng)用程序中遇到錯(cuò)誤,則錯(cuò)誤日志是你開始進(jìn)行排查問題的第一個(gè)位置。error_log指令啟用并設(shè)置錯(cuò)誤日志的位置和嚴(yán)重性級(jí)別。它采用以下格式,可以在http,serverlocation上下文中進(jìn)行設(shè)置:

error_log log_file log_level

log_level參數(shù)設(shè)置日志記錄級(jí)別。以下是按嚴(yán)重性從低到高列出的級(jí)別:

debug
info
notice
warn
error
crit
alert
emerg

每個(gè)日志級(jí)別包括更高級(jí)別。例如,如果你將日志級(jí)別設(shè)置為warn,則Nginx還將記錄errorcrit,alertemerg消息。未指定log_level參數(shù)時(shí),默認(rèn)為error。默認(rèn)情況下,error_log指令在主nginx.conf文件內(nèi)的http指令上下文中定義:

http {
  ...
  error_log  /var/log/nginx/error.log;
  ...
}

/etc/nginx/nginx.conf與訪問日志相同,建議為每個(gè)服務(wù)器設(shè)置一個(gè)單獨(dú)的錯(cuò)誤日志文件,該文件將覆蓋更高級(jí)別的設(shè)置如http指令上下文。例如,要將domain.com的錯(cuò)誤日志設(shè)置為warn,你可以使用:

http {
  ...
  error_log  /var/log/nginx/error.log;
  ...
  server {
    server_name domain.com
    error_log  /var/log/nginx/domain.error.log warn;
    ...
  }
}

無論何時(shí)修改配置文件,都必須重新加載Nginx服務(wù),以使更改生效。

日志文件的位置

在大多數(shù)Linux發(fā)行版中,例如Ubuntu ,CentOS和Debian。默認(rèn)情況下,訪問和錯(cuò)誤日志位于/var/log/nginx目錄中。

讀取和理解Nginx日志文件

你可以使用cat,less,grep,cut,awk等命令打開和解析nginx日志文件。以下是使用默認(rèn)的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"

讓我們細(xì)分Nginx日志文件記錄的每個(gè)字段意味著什么:

  • $remote_addr192.168.33.1-發(fā)出請(qǐng)求的客戶端的IP地址。
  • $remote_user--HTTP身份驗(yàn)證用戶。未設(shè)置用戶名時(shí),此字段顯示-。
  • [$time_local][15/Oct/2019:19:41:46 +0000]

本地服務(wù)器時(shí)間。

  • "$request""GET / HTTP/1.1"-請(qǐng)求類型,路徑和協(xié)議。
  • $status200-服務(wù)器響應(yīng)代碼。
  • $body_bytes_sent396-服務(wù)器響應(yīng)的大?。ㄒ宰止?jié)為單位)。
  • "$http_referer""-"-引薦網(wǎng)址。
  • "$http_user_agent"Mozilla/5.0 ...-客戶端的用戶代理(網(wǎng)絡(luò)瀏覽器)。

使用tail命令實(shí)時(shí)觀看日志文件記錄:tail -f access.log

到此這篇關(guān)于配置Nginx訪問與錯(cuò)誤日志的文章就介紹到這了,更多相關(guān)Nginx錯(cuò)誤日志內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

美國(guó)服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部