Virtual Hostごとのエラーログの分類

複数のvirtual hostがある場合、各virtual hostごとに別のerrorログを維持することは意味があります。Virtual host は完全に依存性がなく、異なるadminによって管理されることさえあります。したがって、それぞれは独自のaccessおよびerrorログを持つべきです。

以下はvirtula hostごとに個々のerrorを記録するための設定例です:

error_log logs/main_error.log;

events {
    worker_connections 1024;
}

http {
    error_log logs/http_error.log error;
    server {
        server_name one.org;
        access_log logs/one.access;
        error_log logs/one.error error;
    }

    server {
        server_name two.org;
        access_log logs/two.access;
        error_log logs/two.error error;
    }
}

このようにして、one.org/nonexistent.html ファイルへのリクエストはlogs/one.error内に以下のエラーを出力するでしょう:

2009/01/01 19:45:44 [error]  29874#0: *98 open() "/var/www/one/nonexistent.html" failed (2: No such file or directory), client: 11.22.33.44, server: one.org, request: "GET /nonexistent.html HTTP/1.1", host: "one.org"

注意

error_log ディレクティブはそれが現れるセクションに依存する異なるデフォルト値を持ちます。このことは、server {...} ブロックに明示的にエラーログレベルを設定する必要があることを意味します。