# Nginx 主配置 — 含 JSON 访问日志格式(ELK 采集用) user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; # ─── JSON 访问日志格式(ELK Filebeat → Elasticsearch)─── log_format json_combined escape=json '{' '"timestamp":"$time_iso8601",' '"remote_addr":"$remote_addr",' '"remote_user":"$remote_user",' '"request":"$request",' '"status":$status,' '"body_bytes_sent":$body_bytes_sent,' '"http_referer":"$http_referer",' '"http_user_agent":"$http_user_agent",' '"http_x_forwarded_for":"$http_x_forwarded_for",' '"request_time":$request_time,' '"upstream_response_time":"$upstream_response_time",' '"host":"$host",' '"server_name":"$server_name"' '}'; access_log /var/log/nginx/access.log json_combined; error_log /var/log/nginx/error.log warn; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 20m; gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_types text/plain text/css text/xml application/json application/javascript application/xml+rss application/atom+xml image/svg+xml; include /etc/nginx/conf.d/*.conf; }