FastCGI +nginxでDjangoを使用しています。この場合、ログ(エラー)はどこに保存されますか?
11 に答える
エラーはnginxログファイルに保存されます。nginx構成ファイルのルートで指定できます。
error_log /var/log/nginx/nginx_error.log warn;
Homebrewを搭載したMacOSXでは、ログファイルはデフォルトで次の場所にあります。
/usr/local/var/log/nginx
ほとんどの場合、(開いているファイルのリスト)を使用lsof
して、構成を知らなくても開いているログファイルを見つけることができます。
例:
のPIDを見つけますhttpd
(同じ概念が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;
/usr/local
Nginxは通常またはで設定され/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
ターミナルで次のコマンドを入力します。
sudo cat /var/log/nginx/error.log
cd /var/log/nginx/
cat 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
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;
# ...
}
で見つけました/usr/local/nginx/logs/*
。