Newer
Older
LaravelSample / .docker / web / nginx / nginx.conf
Shinya Tomozumi on 19 May 2 KB First Commit
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
worker_processes  auto;

events {
    worker_connections  400875;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    keepalive_timeout  65;
    sendfile        on;

    # UTF-8を使用する
    charset UTF-8;

    # サーバ名を非表示にする
    server_tokens off;

    # アップロード可能なファイルサイズの上限を設定
    client_body_buffer_size 2048M;
    client_max_body_size 2048M;

    # バッファサイズの設定
    proxy_buffer_size 64k;
    proxy_buffers 100 64k;
    proxy_busy_buffers_size 128k;

    # gzip圧縮の設定
    gzip                on;
    gzip_http_version   1.0;
    gzip_types          text/plain text/css text/javascript application/javascript application/x-javascript application/x-httpd-php application/json application/font-sfnt application/font-woff image/x-icon;

    # ログファイルの設定
    # ログファイルのフォーマットをjson形式に設定
    log_format json escape=json '{'
                                '"time":"$time_iso8601",'
                                '"host":"$remote_addr",'
                                '"port":"$remote_port",'
                                '"method":"$request_method",'
                                '"uri":"$request_uri",'
                                '"status":"$status",'
                                '"body_bytes":"$body_bytes_sent",'
                                '"referer":"$http_referer",'
                                '"ua":"$http_user_agent",'
                                '"request_time":"$request_time",'
                                '"respons_time":"$upstream_response_time"'
                                '}';
    # 40x系のログを出力するための変数を設定
    map $status $res_status_4xx {
        ~^[4] 1;
        default 0;
    }
    # 50x系のログを出力するための変数を設定
    map $status $res_status_5xx {
        ~^[5] 1;
        default 0;
    }

    # access.logにjson形式で出力
    access_log /var/log/nginx/access.log json;

    # エラーログを出力
    access_log /var/log/nginx/error4xx.log json if=$res_status_4xx;
    access_log /var/log/nginx/error5xx.log json if=$res_status_5xx;
    error_log  /var/log/nginx/error.log info;

    # include
    include /etc/nginx/conf.d/*.conf;
}