| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #user nobody;
- worker_processes auto;
- error_log logs/error.log error; # 只记录严重错误,减少磁盘IO和日志文件大小
- #error_log logs/error.log;
- #error_log logs/error.log notice;
- #error_log logs/error.log info;
- #pid logs/nginx.pid;
- events {
- worker_connections 1024; # 单个worker进程最大连接数
- multi_accept on; # 一次性接受所有新连接
- use epoll;
- }
- #=====================================================
- # HTTP 全局块
- #=====================================================
- http {
- include mime.types;
- default_type application/octet-stream;
- #-------------------------------------------------
- # 日志配置
- #-------------------------------------------------
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$request_time" "$upstream_response_time"';
- access_log logs/access.log main;
- error_log logs/error.log warn;
- #-------------------------------------------------
- # 性能优化
- #-------------------------------------------------
- server_tokens off; # 隐藏NGINX版本信息
- # I/O优化 - 减少带宽消耗和提高传输效率
- sendfile on; # 开启零拷贝文:件传输,减少CPU消耗和内核上下文切换
- tcp_nopush on; # 优化数据包传输,减少网络报文数量,配合sendfile使用
- tcp_nodelay on; # 禁用Nagle算法,降低小数据包传输延迟
- # 连接优化 - 减少TCP连接建立的开销
- keepalive_timeout 65; # 保持客户端连接超时时间(秒),减少重复的TCP握手
- keepalive_requests 100; # 在一个keepalive连接上可处理的最大请求数
- #-------------------------------------------------
- # 静态文件缓存优化 - 减少重复读取文件的开销
- #-------------------------------------------------
- open_file_cache max=10000 inactive=20s; # 缓存最多10000个文件描述符,20秒不使用则关闭
- open_file_cache_valid 30s; # 每30秒检查一次缓存中的文件描述符是否仍然有效
- open_file_cache_min_uses 2; # 文件被访问至少2次后才会被缓存,降低低频访问文件的缓存
- open_file_cache_errors on; # 同时缓存文件错误信息,避免重复访问不存在的文件
- #-------------------------------------------------
- # Gzip 压缩配置 - 显著减少传输数据量,节省带宽
- #-------------------------------------------------
- gzip on; # 启用gzip压缩,可减少传输数据量40%-70%
- gzip_comp_level 6; # 压缩级别(1-9),一般来说推荐你设置成 6 就比较合适
- gzip_min_length 1k; # 最小压缩文件大小(字节),小于此值的文件不压缩
- gzip_buffers 16 8k; # 压缩缓冲区大小,16个8k的缓冲区
- gzip_proxied any; # 对所有代理请求进行压缩,包括反向代理的响应
- gzip_vary on; # 添加Vary: Accept-Encoding响应头,正确处理缓存
- gzip_static on; # 优先使用预压缩.gz文件,减少CPU使用率
- gzip_http_version 1.1; # 使用HTTP 1.1版本,支持gzip压缩
- gzip_disable "MSIE [1-6]\."; # 对IE6及以下浏览器禁用gzip,避免兼容性问题
- gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml application/xml+rss image/svg+xml image/png font/eot font/otf font/ttf application/octet-stream;
- #-------------------------------------------------
- # 上传与超时限制
- #-------------------------------------------------
- client_max_body_size 50m;
- client_body_timeout 20s;
- client_header_timeout 20s;
- send_timeout 30s;
- include conf.d/*.conf;
- }
|