欢迎来到梦飞科技

服务器租用

当前优惠活动:

Nginx反射署理利用缓存和删除其缓存文件的要领

利用nginx做cache处事器

需求就是缓存android的软件包,后缀名是apk。话不多说,直接上设置,供参考:

a-->nginx.conf
user www www;
worker_processes 8;
error_log /data/logs/nginx_error.log crit;
pid    /usr/local/nginx/nginx.pid;
worker_rlimit_nofile 204800;
events
{
 use epoll;
 worker_connections 204800;
}
http
{
  include    mime.types;
  #apk 文件范例
  #default_type application/vnd.android.package-archive;
  default_type application/octet-stream;
  charset utf-8;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 2k;
  large_client_header_buffers 4 4k;
  client_max_body_size 8m;
  sendfile on;
  tcp_nopush   on;
  keepalive_timeout 60;
  open_file_cache max=204800 inactive=20s;
  open_file_cache_min_uses 1;
  open_file_cache_valid 30s;
  tcp_nodelay on;
  client_body_buffer_size 512k;
  #跟后端处事器毗连的超时时间_提倡握手等待响应超时时间
  proxy_connect_timeout 600;
  #毗连乐成后_等待后端处事器响应的时间_其实已经进入后端的列队之中等待处理惩罚
  proxy_read_timeout 600;
  #后端处事器数据回传时间_就是在规按时间内后端处事器必需传完所有数据
  proxy_send_timeout 600;
  #署理请求缓存区_这个缓存区间会生存用户的头信息以供Nginx举举措则处理惩罚_一般只要能生存下头信息即可
  proxy_buffer_size 16k;
  #同上 汇报Nginx生存单个用的几个Buffer最大用多大空间
  proxy_buffers 4 64k;
  #假如系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2
  proxy_busy_buffers_size 128k;
  #proxy缓存姑且文件的巨细
  proxy_temp_file_write_size 128k;
  gzip on;
  gzip_proxied expired no-cache no-store private auth;
  gzip_min_length 1k;
  gzip_buffers   4 16k;
  gzip_http_version 1.1;
  gzip_comp_level 3;
  gzip_types    text/plain application/x-javascript text/css application/xml;
  gzip_disable "MSIE [1-6]\.";
  gzip_vary on;
  #log_format access '$remote_addr - $remote_user [$time_local] '
  #          '"$request" $status $body_bytes_sent '
  #          '"$http_referer" "$http_user_agent" '
  #          '$host $request_time $http_x_forwarded_for';
  #access_log /data/logs/http.a.log;
  #error_log /data/logs/http.e.log;
  include vhosts/cache.peiqiang.net.conf;
}
upstream source_site {
  server 192.168.1.1:80 weight=7 max_fails=2 fail_timeout=30s;
  server 192.168.1.2:80 weight=4 max_fails=2 fail_timeout=30s;
}
b-->cache.peiqiang.net.conf
#用于指定当地目次来缓冲较大的署理请求
proxy_temp_path /data/soft/temp;
#配置web缓存区名为cache_one,内存缓存空间巨细为12000M,自动排除高出15天没有被会见过的缓存数据,硬盘缓存空间巨细200g
proxy_cache_path /data/soft/cache levels=1:2 keys_zone=cache_one:12000m inactive=15d max_size=200g;
server {
   listen 80;
   server_name cache.peiqiang.net;
   access_log /data/logs/a.log;
   error_log  /data/logs/e.log notice;
   # PHP Scripts is NOT allowed within this site!
   location ~* \.(php|php5|jsp|asp|aspx)$ {
     deny all;
   }
   location / {
     proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
     proxy_cache cache_one;
     proxy_cache_valid 200 304 12h;
     proxy_cache_key $uri$is_args$args;
     #反向署理,会见后端内容源处事器
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $remote_addr;
     proxy_pass http://source_site;
   }
   location ~* .*\.(apk)$ {
     error_page 302 404 = @fallback;
     #假如后端的处事器返回500、502、503、504执行超时等错误、自动将请求转发到upstream负载平衡池中的另一台处事器,实现妨碍转移
     proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
     #利用web缓存区cache_one
     proxy_cache cache_one;
     #对差异的HTTP状态码缓存配置差异的缓存时间
     proxy_cache_valid 200 304 12h;
     #配置Web缓存的Key值,Nginx按照Key值md5哈希存储缓存,这里按照"域名、URI、参数"组合成key
     proxy_cache_key $uri$is_args$args;
     #反向署理,会见后端内容源处事器
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $remote_addr;
     proxy_pass http://source_site;
     expires 1d;
   }
   location @fallback {
     rewrite ^ $scheme://apke.peiqiang.net$uri redirect;
     expires -1;
   }
}

 

梦飞科技 - 全球数据中心基础服务领先供应商

Copyright © 2003-2019 MFISP.COM. 国外服务器租用 IDC公司 版权所有 粤ICP备11019662号