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;
}