nginx常用配置解析

1、常用公共参数(一般放在http下面,虽然很多参数都支持server和location)

    keepalive_timeout  60;  #单位为s

    keepalive_request 2;  #设置与客户端在上述超时次数才真正断开连接;

    tcp_nodelay off;          #用于设置是否允许套接字TCP_NODELAY,默认为on; tcp_nodelay 作用是用于设置数据包尽快发送数据; 和tcp_nodelay相反,如果启用了 buffer,建议关闭 tcp_nodelay

    tcp_nopush  on;           #用于设置是否允许套接字TCP_NOPUSH,默认为off; tcp_nopush 的作用就是 数据包会累计到一定大小之后才会发送;

    send_timeout   10;    #用于设置与客户端建立tcp握手的超时时间

    send_file  on;               #用于设置是否启用sendfile()函数,常用是设置为on;

    client_max_body_size 100m;      #用于设置允许接受的客户端请求内容的最大值,超过这个值将返回http 413
    client_body_buffer_size 128k;     #用于指定客户端请求内容(用户内容)的缓冲大小,如果客户端请求内容大于设置值,将启用临时文件

    client_body_temp_path  /usr/local/nginx/client_body_temp/ ; #设置client_body_buffer_size临时文件目录

   client_head_buffer_size 20k ;   #用于缓冲客户端的请求头(头体Request Header),如果带cookie的话,需要特别注意加大点,默认值为1kn

   server_names_hash_max_size 512; #用于限制server_name 的hash大小,粗暴理解就是server_name的字节长度r

   server_tokens off; #主要用于设置响应头中nginx版本的显示,off代表关闭,on开启,默认配置on,基于安全考虑,一般选择off;

   gzip on;

   gzip_buffers  4 8k; #用于设置几个单位的缓存用于存储gzip的压缩结果流,如果未设置,将获取与需要压缩的文件大小一样的内存;

   gzip_comp_level 1; #用于设置压缩比,可设置参数为1-9,1最快,但压缩比例小,9最慢,但压缩比例大;

   gzip_min_length 1k; #设置超过多大的内容需要进行压缩,默认是0,一般设置为1K;

   

   下列这些模块设置的需根据生产场景来设置位置 

   add_header  name value;        #用于在响应头中添加指定的头和值;可以设置多个,需要分行设置;

   add_header  name1 value1; 

   add_header  Cache-Control no-store,no-cache;  #用于通知浏览器不缓存

   expires  time|epoch|max|off;          #用于设置http响应头中Expires和Cache-Control头的值

                                                          #time: 即设置时间长短,如果设置为-1,则表示为永远过期;

 

  proxy相关配置:

     proxy_hide_header     header_name;   #用来隐藏后端被代理的服务器响应头,nginx返回给客户端的响应头里将不会出现被隐藏的头;

     proxy_pass_header    header_name;   #用于指定某些默认被nginx禁止转发的响应头可以进行转发;

     proxy_pass         ;                                 #用来指定后端代理地址

     proxy_set_header     name  value  ;     #用于重新定义或添加从客户端过来的请求头 ,然后再发给后端被代理服务器

     proxy_redirect        off;                          #用于更改后端被代理服务器的响应头中的location,默认值为off;

     proxy_connect_timeout                         #用于指定跟后端服务器连接的超时时间,发起握手至等候响应的时间                                 单位s  默认60

     proxy_read_timeout                               #用于指定跟后端服务器建立了TCP连接,至TCP连接状态为ESTABLIASHED时间            单位s   默认60

     proxy_send_timeout                              #用于指定后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据 单位s    默认60

     proxy_buffer_size       4k;                     #用于指定一个处理后端响应的header的缓存的大小,可用来nginx做规则匹配处理

     proxy_buffers    4  32k;                         #指定一个处理后端代理服务器返回主体 应答(response的网页结果)的buffer 的数量和大小

     proxy_cookie_path   /proxy_path   /;     #将客户端的请求头中的cookie代理至后端

 总结:对于响应头的修改 locatio<server<http ,即当在location中设置了某些响应头,如果server中有修改,则以server为最终结果,如果http中再次设置,则以http中为准;

                                                          

 

posted @ 2019-11-10 15:48  xiao_pai_pai  阅读(187)  评论(0编辑  收藏  举报