当前位置:首页 > 技术文章 > 正文内容

nVisual部署之nginx配置说明(svn nginx)

arlanguage3个月前 (01-24)技术文章27

Nginx 是一个高性能的HTTP和反向代理web服务器,因此nvisual在部署前端包时便采用了它作为服务器,版本使用1.14.1以上。在默认的配置下,还需要向nginx各模块添加配置才能达到生产需要。

接下来,从http模块开始,再到serverlocation模块,分别说明一下各配置的参数。

一、http模块

1.send?le,用来开启高效的文件传输模式,语法send?le on |o?,默认值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模块

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_http_version,针对不同的HTTP协议版本,可以选择性地开启和关闭Gzip功能,该指令是指定使用Gzip的HTTP最低版本,该指令一般采用默认值即可,默认值是1.1。

8.proxy_buffering,设置是否开启proxybuffer功能,参数的值为on或者off。如果这个设置为off,那么proxy_buffersproxy_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模块

1.root,指定根目录

2.index,指定默认访问的页面。

3.try_files,作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

4.proxy_pass,用来设置代理服务器的地址。

5.proxy_redirect,该指令用来修改被代理服务器返回的响应头中的Location头域和“refresh”头域。

现在的nginx配置不是一成不变的,在将来的需求增加后,也许还会有更多的设定加入,合理的、高效的利用好nginx,也是前端体现高性能的关键所在。

文:王剑飞



扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1107.html

分享给朋友:

“nVisual部署之nginx配置说明(svn nginx)” 的相关文章

Nginx配置文件详解

Nginx配置文件详解Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设...

Nginx动静分离简单实现示例讲解

简述本文主要介绍如何实现Nginx动静分离。动静分离动静分离是根据一定规则把静态文件(html、css、js、jpg等)和动态文件(jsp,.do等)区分开来,采用静态文件和动态文件分开部署,以提高用户访问静态文件的速度,降低对后台应用的访问,提高服务器响应速度和性能。静态文件由Nginx服务器处理...

Nginx 问题以及对应的解决方案

1. Nginx 无法启动当 Nginx 无法启动时,通常是由于以下几个原因导致的:配置文件有误。可以通过运行 nginx -t 命令检查配置文件是否存在语法错误。端口被占用。可以通过运行 netstat -tlnp 命令查看当前系统中占用该端口的进程,并将其停止或更改端口。缺少权限。Nginx 可...

全网最新最全的Docker命令大集合,收藏备用!

Docker 是一个开源的平台,用于自动化应用程序的部署、扩展和管理。它使得开发者能够打包应用及其依赖项到一个轻量级的容器中,并在任何环境中快速运行。掌握 Docker 的常用命令可以大大提高你的工作效率,尤其是在开发、测试和部署阶段。本文将详细介绍 Docker 的常用命令,涵盖从基本操作到高级使...

到 2024 年了,全球仍有 76.4% 的网站在用「已死」的 PHP!

如今资历稍长的程序员,提到 PHP 可能都会联想到一个梗:“PHP 是最好的语言。”这个梗并非出自别处,正源自于 PHP 自己的官方文档:早在 2001 年 7 月,PHP 文档中就有一句“PHP is the best language for web programming(PHP 是世界上最好...

nginx出现大量499响应码怎么办?

一、问题现象监控发现Nginx服务日志中出现较多的499状态码,499状态码在Nginx中代表的是客户端在服务端返回之前主动断开了连接,由于客户端设置的超时时间为2s,故到达2s未收到服务端响应客户端主动断开了连接造成了499响应码。二、可能的故障点服务器的问题,例如CPU使用率高,队列堵塞,导致无...