簡體   English   中英

我在哪里可以找到nginx的錯誤日志,使用FastCGI和Django?

[英]Where can I find the error logs of nginx, using FastCGI and Django?

我正在使用帶有FastCGI + nginx 的 Django。 在這種情況下,日志(錯誤)存儲在哪里?

錯誤存儲在 nginx 日志文件中。 可以在nginx配置文件的根目錄指定:

error_log  /var/log/nginx/nginx_error.log  warn;

在帶有Homebrew 的Mac OS X 上,日志文件默認位於以下位置:

/usr/local/var/log/nginx

我正在尋找不同的解決方案。

默認情況下,在設置任何配置之前,在我的系統 (x86 Arch Linux ) 上的錯誤日志位於:

/var/log/nginx/error.log

在大多數情況下,您可以使用lsof (打開文件列表)在不知道配置的情況下查找打開的日志文件。

例子:

找到httpd的PID(同樣的概念適用於nginx和其他程序):

$ ps aux | grep httpd
...
root     17970  0.0  0.3 495964 64388 ?        Ssl  Oct29   3:45 /usr/sbin/httpd
...

然后使用lsof和 PID 搜索打開的日志文件:

$ lsof -p 17970 | grep log
httpd   17970 root    2w   REG             253,15     2278      6723 /var/log/httpd/error_log
httpd   17970 root   12w   REG             253,15        0      1387 /var/log/httpd/access_log

如果lsof打印任何內容,即使您希望找到日志文件,請使用sudo發出相同的命令。

你可以在這里多讀一點。

運行此命令以檢查錯誤日志:

tail -f /var/log/nginx/error.log

我的 ngninx 日志位於:

/usr/local/var/log/nginx/*

您還可以檢查您的nginx.conf以查看是否有任何指令轉儲到自定義日志。

運行nginx -t來定位你的nginx.conf

# in ngingx.conf
error_log  /usr/local/var/log/nginx/error.log;
error_log  /usr/local/var/log/nginx/error.log  notice;
error_log  /usr/local/var/log/nginx/error.log  info;

Nginx 通常設置在/usr/local/etc/ 服務器也可以配置為將日志轉儲到/var/log

如果您有 nginx 安裝的備用位置並且所有其他位置都失敗了,您可以使用find命令來定位您選擇的文件。

find /usr/ -path "*/nginx/*" -type f -name '*.log' ,其中/usr/是您希望開始搜索的文件夾。

Linux 服務器上的日志位置:

Apache – /var/log/httpd/

IIS – C:\inetpub\wwwroot\

Node.js – /var/log/nodejs/

nginx – /var/log/nginx/

Passenger – /var/app/support/logs/

Puma – /var/log/puma/

Python – /opt/python/log/

Tomcat – /var/log/tomcat8
cd /var/log/nginx/
cat error.log

在終端中鍵入此命令:

sudo cat /var/log/nginx/error.log

我在/usr/local/nginx/logs/*找到了它。

在 nginx 配置文件中設置訪問日志的位置是一個很好的做法。 使用 acces_log /path/ 像這樣。

keyval $remote_addr:$http_user_agent $seen zone=clients;

server { listen 443 ssl;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers   HIGH:!aNULL:!MD5;

if ($seen = "") {
    set $seen  1;
    set $logme 1;
}
access_log  /tmp/sslparams.log sslparams if=$logme;
error_log  /pathtolog/error.log;
# ...
}

對於Mac OS用戶,您可以在終端中輸入nginx -help

nginx version: nginx/1.21.0
Usage: nginx [-?hvVtTq] [-s signal] [-p prefix]
             [-e filename] [-c filename] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /opt/homebrew/Cellar/nginx/1.21.0/)
  -e filename   : set error log file (default: /opt/homebrew/var/log/nginx/error.log)
  -c filename   : set configuration file (default: /opt/homebrew/etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

然后,您可以找到一些配置和日志文件的默認路徑,在這種情況下:

/opt/homebrew/log/nginx/error.log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM