nVisual部署之nginx配置说明
off999 2025-01-02 18:15 26 浏览 0 评论
Nginx 是一个高性能的HTTP和反向代理web服务器,因此nvisual在部署前端包时便采用了它作为服务器,版本使用1.14.1以上。在默认的配置下,还需要向nginx各模块添加配置才能达到生产需要。
接下来,从http模块开始,再到server、location模块,分别说明一下各配置的参数。
一、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,设置是否开启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模块
1.root,指定根目录
2.index,指定默认访问的页面。
3.try_files,作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。
4.proxy_pass,用来设置代理服务器的地址。
5.proxy_redirect,该指令用来修改被代理服务器返回的响应头中的Location头域和“refresh”头域。
现在的nginx配置不是一成不变的,在将来的需求增加后,也许还会有更多的设定加入,合理的、高效的利用好nginx,也是前端体现高性能的关键所在。
文:王剑飞
相关推荐
- 阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?
- 
        TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对... 
- 高流量大并发Linux TCP性能调优_linux 高并发网络编程
- 
        其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为... 
- 性能测试100集(12)性能指标资源使用率
- 
        在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总... 
- Linux 服务器常见的性能调优_linux高性能服务端编程
- 
        一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里... 
- Nginx性能优化实战:手把手教你提升10倍性能!
- 
        关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe... 
- 高并发场景下,Spring Cloud Gateway如何抗住百万QPS?
- 
        关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m... 
- Kubernetes 高并发处理实战(可落地案例 + 源码)
- 
        目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB... 
- 高并发场景下,Nginx如何扛住千万级请求?
- 
        Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统... 
- Spring Boot+Vue全栈开发实战,中文版高清PDF资源
- 
        SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序... 
- Docker-基础操作_docker基础实战教程二
- 
        一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true... 
- 你有空吗?跟我一起搭个服务器好不好?
- 
        来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手... 
- 部署你自己的 SaaS_saas如何部署
- 
        部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。... 
- Docker Compose_dockercompose安装
- 
        DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,... 
- 京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统
- 
        前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论... 
- Kubernetes (k8s) 入门学习指南_k8s kubeproxy
- 
        Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它... 
欢迎 你 发表评论:
- 一周热门
- 
                    - 
                            
                                                                抖音上好看的小姐姐,Python给你都下载了
- 
                            
                                                                全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
- 
                            
                                                                Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
- 
                            
                                                                python入门到脱坑 输入与输出—str()函数
- 
                            
                                                                宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
- 
                            
                                                                Python三目运算基础与进阶_python三目运算符判断三个变量
- 
                            
                                                                (新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
- 
                            
                                                                慕ke 前端工程师2024「完整」
- 
                            
                                                                失业程序员复习python笔记——条件与循环
- 
                            
                                                                8÷2(2+2) 等于1还是16?国外网友为这道小学数学题吵疯了……
 
- 
                            
                                                                
- 最近发表
- 标签列表
- 
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
 
