nginx优化
并发优化
长连接
压缩
静态缓存
一、并发优化
nginx工作模式:主进程+工作进程
启动工作进程数量
worker_processes 4;
#指定运行的核的编号,采用掩码的方式设置编号
worker_cpu_affinity 0001 0010 0100 1000;
events {
单个工作进程维护的请求队列长度
worker_connections 1024;
}
二、长连接
减少服务器维护因为与客户端建立http连接产生的大量tcp三次握手四次断开的开销
keepalive_timeout 0; 0代表关闭
#keepalive_timeout 100;
#keepalive_requests 8192;
三、压缩
降低传输时间,增加用户体验度;降低公司带宽费用。
gzip on;
gzip_proxied any;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_comp_level 6;
gzip_* text/plain text/css application/x-javascript application/javascript application/xml;
# 开启gzip
gzip off;
# 启用gzip压缩的小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 1;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.* 文件中找到。
gzip_* text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
# 设置压缩所需要的缓冲区大小
gzip_buffers 32 4k;
# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.0;
四、静态缓存
将部分数据缓存在用户本地磁盘,用户加载时,如果本地和服务器的数据一致,则从本地加载。提升用户访问速度,提升体验度。节省公司带宽成本。
expires指令:开启缓存并指定静态缓存时间
location ~* \.(png|gif)$ {
expires 1h;
}