Nginx 是两个高工作效率能的HTTP和逆向代理web伺服器,因而nvisual在布署后端ZR19便选用了它做为伺服器,版采用1.14.1以内。在预设的实用性下,还须要向nginx各组件加进实用性就可以达至制造需要。
接下去,从http组件已经开始,再到server、location组件,依次表明呵呵各实用性的模块。
一、http组件
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组件
1.gzip,用于迈入或者关闭gzip功能,句法gzip on|off,预设off。
2.gzip_comp_level,用于增设Gzip压缩程度,级别从1-9,1表示压缩程度最低,工作效率最高,9刚好相反,压缩程度最高,但是工作效率最低最费天数,所以采用时,注意并不是级别越高越好。建议增设在中间值5/6即可。
t-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,增设是否迈入proxy的buffer功能,模块的值为on或者off。如果这个增设为off,那么proxy_buffers和proxy_busy_buffers_size这两个指令将会失效,但是无论proxy_buffering是否迈入,proxy_buffer_size都是施行的。
9.proxy_会出现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,也是后端体现高工作效率能的关键所在。
文:王剑飞