nginx重要配置参数

1、https配置证书

nginx配置https访问_LMD菜鸟先飞的博客-CSDN博客

2、同一个端口代理多个页面

nginx同一个地址端口代理多个页面_同一ip,端口,访问不同页面 nginx_LMD菜鸟先飞的博客-CSDN博客

3、nginx访问压缩数据,加快访问速度

    #gzip模块设置
    gzip on; #开启gzip压缩输出
    gzip_min_length 1k; #最小压缩文件大小 
    gzip_buffers 4 16k; #压缩缓冲区,大小为4个16k缓冲区
    gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0) 
    gzip_comp_level 2; #压缩等级 
    gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript image/jpeg image/png image/gif; 
    #gzip_types指令指定了需要进行压缩的HTTP响应类型,其中text/plain代表纯文本类型,text/css代表CSS样式表类型,application/json和application/javascript代表JSON和JavaScript类型,text/xml、application/xml和application/xml+rss代表XML类型,text/javascript代表JavaScript类型,image/jpeg image/png image/gif代表相关图片类型。

4、文件上传大小限制

client_max_body_size 300m; 

#允许客户端请求的最大单文件字节数(这里如果设置小了话可能让某些网站后台不能传附件及在nginx使用过程中,上传文件的过程中,通常需要设置nginx报文大小限制。避免出现413 Request Entity Too Large)

5、负载均衡配置

proxy_connect_timeout:这个配置很重要,默认60s,如果负责均衡配置中一台机器宕机了,那么访问到这台机器时,会等待60s直到超时才会去访问其他机器,所以就会出现一次访问1s,下一次访问61s的情况。一般我们nginx都是代理到内网环境,所以这个不要设置太大,设置5s绰绰有余,除非你网速是上古时期的网速。切记:这个配置是与服务器建立连接的超时时间,不是接口访问等待的超时时间,所以网速较慢才会导致这个时间长,接口访问等待时间再长也不会受这个影响

proxy_read_timeout:这个配置也很重要,默认情况下,如果请求超过这个时间,则会请求重试,导致一次访问后台执行两次,可以通过设置重试次数控制,但是这会降低nginx容错能力,所以建议优化业务代码。

	#负载均衡配置
	upstream server_pool {
        server 192.168.1.100:80;
        server 192.168.1.101:80;
        server 192.168.1.102:80;
    }
	
	server {
		listen       9002;
        server_name  localhost;

        proxy_connect_timeout 5; #nginx跟后端服务器连接超时时间(代理连接超时,单位秒,不写默认60s)
        proxy_read_timeout 60; #连接成功后,后端服务器响应时间(代理接收超时,单位秒)
        proxy_send_timeout 60; #后端服务器数据回传时间(代理发送超时,单位秒)

        #proxy_next_upstream error | timeout;
		#失败重试机制设置error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | non_idempotent | off ... :配置什么情况下需要向上游服务器进行重试。默认为:error timeout。error表示读写出错;timeout表示超时;invalid_header表示头信息有误;non_idempotent表示RFC-2616定义的非幂等HTTP方法(POST、LOCK、PATCH),也可以在失败后重试(默认幂等方法GET、HEAD、PUT、DELETE、OPTIONS、TRACE);off表示禁用重试。不建议关闭,会导致nginx的容错能力下降
		
		#proxy_next_upstream_tries 0;
		#设置重试次数,默认 0 表示无限制,该参数包含所有请求 upstream server 的次数,这里的次数包含第一次请求,即如果设置为1,则只请求一次,失败重试
		
		#proxy_next_upstream_timeout
		#设置重试最大超时时间,默认 0 表示不限制,该参数指的是第一次连接时间加上后续重试连接时间,不包含连接上节点之后的处理时间

		location / {
            root   html;
            index  index.html index.htm;
        }
		
		location /test {
            proxy_pass http://server_pool/;
        }
	}

以上这些都是实际工作中用到的比较重要且可能引发问题的需要调优的参数,其他默认即可。

你可能感兴趣的:(nginx,服务器,运维)