nginx常用配置

大文件上传

client_max_body_size     1000m;
client_header_timeout    1m;
client_body_timeout      5m;
proxy_connect_timeout   60s;
proxy_read_timeout      1m;
proxy_send_timeout      1m;
send_timeout 20s;

每个参数的意思:

client_max_body_size

限制请求体的大小,若超过所设定的大小,返回413错误。

client_header_timeout

读取请求头的超时时间,若超过所设定的大小,返回408错误。

client_body_timeout

读取请求实体的超时时间,若超过所设定的大小,返回413错误。

proxy_connect_timeout

http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。

此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒。

proxy_read_timeout

http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。

此参数即为服务器响应时间,默认60秒。

proxy_send_timeout

http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒。

send_timeout

服务器把结果返回的时间

大文件上传费时的是文件到代理服务器(Nginx)的时间,所以proxy_xxx相关的时间不用配置的过长

动静分离

upstream filetest_psvmc {   
      server 127.0.0.1:8905;
}  


server {  
      listen 80;  
      server_name filetest.psvmc.cn;
      listen 443; 
      ssl on;
      ssl_certificate   /etc/nginx/cert/psvmc.pem;
      ssl_certificate_key  /etc/nginx/cert/psvmc.key;
      ssl_session_timeout 5m;
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_prefer_server_ciphers on; 

location ^~ /static/ {
      index index.html;
      root  /data/wwwjarapi/8905xhkjfileapitest/;   
}

location / {
          proxy_pass http://filetest_psvmc/;  
          proxy_cookie_path / /;
          proxy_redirect  / /; 
          proxy_set_header Host $host;  
          proxy_set_header X-Real-IP $remote_addr;  
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
          client_max_body_size 1000m;  
          client_body_buffer_size 128k;   
          client_body_timeout 5m;
          proxy_connect_timeout 300s;
          proxy_send_timeout 300s;
          proxy_read_timeout 300s;   
          proxy_busy_buffers_size 64k;  
          proxy_temp_file_write_size 64k; 
          proxy_buffer_size 64k; 
          proxy_buffers 8 64k; 
          fastcgi_buffer_size 128k; 
          fastcgi_buffers 4 128k;
          send_timeout 20s;     
  }
}

注意

20行的代码root的路径不要配置为/data/wwwjarapi/8905xhkjfileapitest/static/

否则会在static文件夹下再查找static文件夹

location基本语法

  • location [=||*|^~|@] pattern{……}
  • = 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。
  • ~ 匹配区分大小写的定的正则表达式
  • ~* 匹配不区分大小写的定的正则表达式
  • ^~ 类似于无修饰符的行为,也是以指定模式开始,不同的是,如果模式匹配, 那么就停止搜索其他模式了
  • !~ 不匹配区分大小写的定的正则表达式
  • !~* 不匹配不区分大小写的定的正则表达式

示例

location = / {
  # 只匹配 / 的查询.
  [ configuration A ]
}
location / {
  # 匹配任何以 / 开始的查询,但是正则表达式与一些较长的字符串将被首先匹配。
  [ configuration B ]
}
location ^~ /images/ {
  # 匹配任何以 /images/ 开始的查询并且停止搜索,不检查正则表达式。
  [ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配任何以gif, jpg, or jpeg结尾的文件,但是所有 /images/ 目录的请求将在Configuration C中处理。
  [ configuration D ]
} 

location ~*.(gif|jpg|swf)$ {
  valid_referers none blocked image.psvmc.cn static.psvmc.cn;
  if ($invalid_referer) {
    #防盗链
    rewrite ^/ http://$host/daolian.png;
  }
  [ configuration E ]
}

各请求的处理如下例:

/ → configuration A
/documents/document.html → configuration B
/images/1.gif → configuration C
/documents/1.jpg → configuration D
查找顺序

  • 带有=的精确匹配优先
  • 没有修饰符的精确匹配
  • 正则表达式按照他们在配置文件中定义的顺序
  • 带有^~修饰符的,开头匹配
  • 带有~ 或~* 修饰符的,如果正则表达式与URI匹配
  • 没有修饰符的,如果指定字符串与URI开头匹配

root、alias指令区别

location /img/ {
    alias /var/www/image/;
}

#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件

location /img/ {
    root /var/www/image;
}

#若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。]
区别

alias是一个目录别名的定义,root则是最上层目录的定义。
alias后面必须要用/结束,否则会找不到文件的 而root则可有可无
文件下载

location /download/ {
		add_header 'Access-Control-Allow-Origin' '*';
		add_header 'Access-Control-Allow-Credentials' 'true';
		add_header 'Content-Type' 'application/octet-stream';
		alias  /data/wwwjarapi/8908schoolfiletest/static/;  
    }

关键语句

add_header 'Content-Type' 'application/octet-stream';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值