参考文章
Nginx全能解析及性能调优 - 掘金
Nginx调优 - 知乎
设置静态资源的过期时间
反向代理设置缓存
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:200m inactive=60m loader_threshold=300 loader_files=300 max_size=2000m;
关闭access_log
1 2 3 4 5 6
| # svg, fonts location ~ /last/\.(?:jpg|png|gif|cmpt|b3dm)$ { add_header Access-Control-Allow-Origin "*"; expires 7d; access_log off; }
|
设置worker_processes
grep processor /proc/cpuinfo | wc –l 获取CPU核心数为8
可以获取CPU相关的信息
1 2 3 4 5 6
| worker_processes auto; worker_rlimit_nofile 65535; #pid logs/nginx.pid; events { worker_connections 65535; }
|
通常需要的设置的worker_processes 为核心数除以2的n次方.推荐设置为auto
设置gzip压缩
这个需要确认这个请求是支持gzip压缩的可以参考
tips
1 2 3 4 5 6 7 8
| gzip on; #是否开启gzip模块 on表示开启 off表示关闭 gzip_static on; gzip_buffers 4 16k; #设置压缩所需要的缓冲区大小 gzip_comp_level 6; #压缩级别1-9,数字越大压缩的越好,也越占用CPU时间 gzip_min_length 1k; #设置允许压缩的最小字节 gzip_http_version 1.0; #设置压缩http协议的版本,默认是1.1 如果nginx前面还有反向代理 这要设置为1.0 gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png application/octet-stream application/javascript; #设置压缩的文件类型 gzip_vary on; #加上http头信息Vary: Accept-Encoding给后端代理服务器识别是否启用 gzip 压缩
|
Linux环境下设置io多路复用(epoll)模型
1 2 3 4 5 6 7
| worker_processes auto; worker_rlimit_nofile 65535; events { use epoll; # 这个设置是针对2.6内核 cat /proc/version可读取 multi_accept on; worker_connections 65535; }
|