[db:作者] 发表于 2023-5-29 01:26:33

nVisual部署之nginx配置说明

Nginx 是一个高性能的各模块添加配置才能达到生产需要。接下来,从模块,分别说明一下各配置的参数。1.sendle,用来开启高效的文件传输模式,语法sendle on |o,默认值off。2.tcp_nopush,须在sendfile打开的状态下才会生效,主要是用来提升网络包的传输效率,语法tcp_nopush on|off,默认值off。现在的nginx配置不是一成不变的,在将来的需求增加后,也许还会有更多的设定加入,合理的、高效的利用好nginx,也是前端体现高性能的关键所在。
Nginx 是一个高性能的各模块添加配置才能达到生产需要。
接下来,从模块,分别说明一下各配置的参数。

一、http模块

       
https://1rscc.1rsc.com/kaibai02/2023/04/20230212050013167614921318325.png
       
1.sendfile,用来开启高效的文件传输模式,语法sendfile on |off,默认值off。
2.tcp_nopush,须在sendfile打开的状态下才会生效,主要是用来提升网络包的传输效率,语法tcp_nopush on|off,默认值off。
3.tcp_nodelay,须在keep-alive连接开启的情况下才生效,来提高网络包传输的实时性,语法tcp_nodelay on|off,默认值off。
4.keepalive_timeout,来指定 KeepAlive 的超时时间,若将它设置为 0,就禁止了 keepalive连接。
5.client_max_body_size,限制请求体的大小,在这里主要指定上传文件的大小限制,默认1m,如果很大,还要适当调整上传超时时间,如果超过设定大小,则返回413。
6.client_body_timeout,读取请求实体的超时时间,在这里主要是应用上传文件的时间限制,如果超时,则返回413。
7.include /etc/nginx/mime.types,文件扩展名与文件类型映射表,如果不加载则会出现异常,例如css文件无法解析,页面没有相应的样式。
二、server模块

       
https://1rscc.1rsc.com/kaibai02/2023/04/20230212050013167614921367919.png
       
1.gzip,用于开启或者关闭gzip功能,语法gzip on|off,默认off。
2.gzip_comp_level,用于设置Gzip压缩程度,级别从1-9,1表示压缩程度最低,效率最高,9刚好相反,压缩程度最高,但是效率最低最费时间,所以使用时,注意并不是级别越高越好。建议设置在中间值5/6即可。
3.gzip_min_length,进行压缩响应页面的最小长度,响应页面的大小可以通过头信息中的Content-Length来获取,如果设置的值大于content-length将不进行压缩。
4.gzip_types,所选择的值可以从mime.types文件中进行查找,有些类型比如图片、视频等本身压缩了也节省不了多少空间,反而会浪费CPU资源,所以在选择压缩的时候需要注意是否有必要进行压缩。
5.gzip_vary,用于设置使用Gzip进行压缩发送是否携带“Vary:Accept-Encoding”头域的响应头部。主要是告诉接收方,所发送的数据经过了Gzip压缩处理。
6.gzip_buffers,用于处理请求压缩的缓冲区数量和大小。
7.gzip_。

       
https://1rscc.1rsc.com/kaibai02/2023/04/20230212050013167614921360283.png
       
8.proxy_buffering,设置是否开启proxy的buffer功能,参数的值为on或者off。如果这个设置为off,那么proxy_buffers和proxy_busy_buffers_size这两个指令将会失效,但是无论proxy_buffering是否开启,proxy_buffer_size都是生效的。
9.proxy_buffer_size,用来设置一个特殊的buffer大小,从被代理服务器(C)上获取到的第一部分响应数据内容到代理服务器(B)上,通常是header,就存到了这个buffer中,如果该参数设置太小,会出现502错误码,这是因为这部分buffer不够存储header信息。建议设置为4k。
10.proxy_buffers,这个参数设置存储被代理服务器上的数据所占用的buffer的个数和每个buffer的大小,所有buffer的大小为这两个数字的乘积。
11.proxy_busy_buffer_size,在所有的buffer里,我们需要规定一部分buffer把自己存的数据传给A,这部分buffer就叫做busy_buffer,proxy_busy_buffer_size参数用来设置处于busy状态的buffer有多大。对于B上buffer里的数据何时传输给A,
(1)如果完整数据大小小于busy_buffer大小,当数据传输完成后,马上传给A;
(2)如果完整数据大小不少于busy_buffer大小,则装满busy_buffer后,马上传给A;
12.proxy_max_temp_file_size,设置临时文件的总大小。
13.proxy_temp_file_wirte_size,设置同时写入临时文件的数据量的总大小。通常设置为8k或者16k。
三、location模块

       
https://1rscc.1rsc.com/kaibai02/2023/04/20230212050014167614921475625.png
       
1.root,指定根目录
2.index,指定默认访问的页面。
3.try_files,作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

       
https://1rscc.1rsc.com/kaibai02/2023/04/20230212050014167614921413643.png
       
4.proxy_pass,用来设置代理服务器的地址。
5.proxy_redirect,该指令用来修改被代理服务器返回的响应头中的Location头域和“refresh”头域。
现在的nginx配置不是一成不变的,在将来的需求增加后,也许还会有更多的设定加入,合理的、高效的利用好nginx,也是前端体现高性能的关键所在。
文:王剑飞
页: [1]
查看完整版本: nVisual部署之nginx配置说明