文档章节

nginx利用proxy_cache来缓存文件

庆沉
 庆沉
发布于 2015/11/27 14:30
字数 379
阅读 62
收藏 10

proxy_cache是nginx自带的内置缓存模块,nginx.conf配置如下:

user  www www;
worker_processes 10;
error_log  /var/vlogs/nginx_error.log  crit;
pid        /var/vlogs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
 use epoll;
 worker_connections 65535;
}
http
{
 include       mime.types;
 default_type  application/octet-stream;
 #charset  gb2312;
 server_names_hash_bucket_size 128;
 client_header_buffer_size 32k;
 large_client_header_buffers 4 32k;
 client_max_body_size 8m;
 sendfile on;
 tcp_nopush     on;
 keepalive_timeout 60;

 tcp_nodelay on;

 fastcgi_connect_timeout 300;
 fastcgi_send_timeout 300;
 fastcgi_read_timeout 300;
 fastcgi_buffer_size 64k;
 fastcgi_buffers 4 64k;
 fastcgi_busy_buffers_size 128k;
 fastcgi_temp_file_write_size 128k;
//============
 client_body_buffer_size  512k;
 proxy_connect_timeout    5;
 proxy_read_timeout       60;
 proxy_send_timeout       5;
 proxy_buffer_size        16k;
 proxy_buffers            4 64k;
 proxy_busy_buffers_size 128k;
 proxy_temp_file_write_size 128k;
 proxy_temp_path   /usr/local/nginx/proxy_temp;
/*

proxy_cache_path    一个放置缓存响应和共享zone的目录,用于存放key和响应的元数据。

levels设置目录层次
keys_zone设置缓存名字和共享内存大小
inactive在指定时间内没人访问则被删除在这里是1天,默认inactive为10分钟

max_size最大缓存空间

*/
proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;
//============等号中间要加的,关键只要加上proxy_cache_path

 gzip on;
 gzip_min_length  1k;
 gzip_buffers     4 16k;
 gzip_http_version 1.0;
 gzip_comp_level 2;
 gzip_types       text/plain application/x-javascript text/css application/xml;
 gzip_vary on;

 upstream nginx {
 server 127.0.0.1:10002;
 server 127.0.0.1:10001 weight=5;
 }

 server
 {
 listen       10000;
 server_name  localhost;
 index index.html index.htm index.php;
 log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
 '$status $body_bytes_sent "$http_referer" '
 '"$http_user_agent" $http_x_forwarded_for';
 access_log  /var/log/test.log  access;

 location /
 {
 proxy_cache content; //根keys_zone后的内容对应
 proxy_cache_valid  200 304 301 302 10d;   //哪些状态缓存多长时间
 proxy_cache_valid  any 1d;    //其他的缓存多长时间
 proxy_cache_key $host$uri$is_args$args;   //通过key来hash,定义KEY的值

 proxy_pass http://nginx;
 proxy_redirect                      off;
 proxy_set_header   Host             $host;
 proxy_set_header   X-Real-IP        $remote_addr;
 proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
 }

//动态的放过
 location ~ .*\.(php|jsp|cgi)?$
 {
 proxy_set_header Host  $host;
 proxy_set_header X-Forwarded-For  $remote_addr;
 proxy_pass http://nginx;
 }
 }
}

© 著作权归作者所有

共有 人打赏支持
庆沉
粉丝 36
博文 405
码字总数 140470
作品 0
深圳
运维
私信 提问
Nginx 状态监控、缓存的两种机制(学习笔记十四)

这里 Cache 有两种情况说明,一种是浏览器访问Nginx,浏览器会Cache;一种是Nginx 访问后端,Nginx 自己Cache 。 第一种情况 来个例子: $ curl -I http://www.12reads.cn HTTP/1.1 200 OK ...

sktj
05/17
0
0
nginx缓存cache的5种方

传统缓存之一(404) 这个办法是把nginx的404错误定向到后端,然后用proxy_store把后端返回的页面保存。 配置: location / { root /home/html/;#主目录 expires 1d;#网页的过期时间 errorp...

范堡
2009/09/21
2.2K
4
Nginx的Cache缓存

随着Nginx web服务器得到越来越多的SA的青睐,Nginx的cache功能已经具备Squid所拥有的Web缓存加速功能、清除指定URL缓存的功能。 而在性能上,Nginx对多核CPU的利用,胜过Squid不少。另外,在...

香胖
2015/12/07
129
0
nginx web缓存配置

1.场景:使用proxy_cache缓存web静态内容文件和通过rewrite伪静态化后的html整页面缓存。 动态内容通过Ajax动态获取,也保持内容一致。 2.nginx 配置 a.添加缓存文件保存路径 b.添加缓存配置...

WolfX
2016/03/10
66
0
Nginx+Proxy_cache高速缓存配置

前言* Nginx已经具备Squid所拥有的Web缓存加速功能、清除指定URL缓存的功能。而在性能上,Nginx对多核CPU的利用,胜过Squid不少。另外,在反向代理、负载均衡、健康检查、后端服务器故障转移...

科技探索者
2017/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ui2code中的深度学习+传统算法应用

背景 在之前的文章中,我们已经提到过团队在UI自动化这方面的尝试,我们的目标是实现基于 单一图片到代码 的转换,在这个过程不可避免会遇到一个问题,就是为了从单一图片中提取出足够的有意...

阿里云官方博客
28分钟前
2
0
1-2 【包子mysql系列】, 对mysql的innoDB加锁分析

innoDB的事务,是基于锁来实现的,用到事务不自然就会用到锁,而如果对锁理解的不通透,很容易造成线上问题。 数据库加锁的分析,和事务的引擎,隔离级别,索引,主键索引都有关系, 如果去考...

爱吃大肉包
42分钟前
0
0
插入排序

/** * 插入排序 * @Title: insert * @Description: TODO(这里用一句话描述这个方法的作用) * @param 参数 * @return void 返回类型 * @throws */ static void insert(int[] arr ){ for(int i......

yzzzzzzzz
44分钟前
2
0
python Kmeans算法解析

一. 概述 首先需要先介绍一下无监督学习,所谓无监督学习,就是训练样本中的标记信息是位置的,目标是通过对无标记训练样本的学习来揭示数据的内在性质以及规律。通俗得说,就是根据数据的一...

终日而思一
44分钟前
2
0
Nginx+Keepalived实现站点高可用

Nginx+Keepalived实现站点高可用

吴伟祥
45分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部