91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何配置Nginx訪問與錯誤日志

發布時間:2022-05-24 17:30:59 來源:億速云 閱讀:205 作者:iii 欄目:開發技術

這篇“如何配置Nginx訪問與錯誤日志”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何配置Nginx訪問與錯誤日志”文章吧。

Nginx是一個開放源代碼的高性能HTTP和反向代理服務器,負責處理Internet上某些最大站點的負載。在管理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 目錄中。

讀取和理解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訪問與錯誤日志”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

体育| 巫山县| 岗巴县| 夏邑县| 汝阳县| 闵行区| 万安县| 呼和浩特市| 保亭| 石首市| 孟连| 青浦区| 珠海市| 莱州市| 那曲县| 清水河县| 定远县| 屏东市| 上虞市| 瑞丽市| 银川市| 阿尔山市| 古蔺县| 宁强县| 乐至县| 岚皋县| 年辖:市辖区| 双牌县| 鹰潭市| 滕州市| 苏尼特右旗| 西峡县| 嘉定区| 西乌珠穆沁旗| 林州市| 杭州市| 葫芦岛市| 融水| 霞浦县| 会东县| 定兴县|