文档章节

nginx缓存设置

abcijkxyz
 abcijkxyz
发布于 2016/07/08 16:29
字数 503
阅读 1
收藏 0

目的: 缓存nginx服务器的静态文件。如css,js,htm,html,jpg,gif,png,flv,swf,这些文件都不是经常更新。便于缓存以减轻服务器的压力。
实现: nginx proxy_cache可以将用户的请缓存到本地一个目录,当下一个请求时可以直接调取缓存文件,就不用去后端服务器去取文件了。
配置: 打开配置文件/etc/nginx/nginx.conf

user  www www;
worker_processes 2;
error_log  /var/log/nginx/nginx_error.log  crit;
worker_rlimit_nofile 65535;
events
{
  use epoll;
  worker_connections 65535;
}

http
{
  include       mime.types;
  default_type  application/octet-stream;

  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 0;
  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;
  ##cache##
  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 /home/temp_dir;
  proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
  ##end##

  gzip    on;
  gzip_min_length   1k;
  gzip_buffers   4 8k;
  gzip_http_version  1.1;
  gzip_types   text/plain application/x-javascript text/css  application/xml;
  gzip_disable "MSIE [1-6]\.";

  log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
  upstream appserver { 
        server 192.168.1.251;
  }
  server {
        listen       80 default;
        server_name blog.slogra.com;
        location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
              proxy_pass http://appserver ;
              proxy_redirect off;
              proxy_set_header Host $host;
              proxy_cache cache_one;
              proxy_cache_valid 200 302 1h;
              proxy_cache_valid 301 1d;
              proxy_cache_valid any 1m;
              expires 30d;
        }
        location ~ .*\.(php)(.*){
             proxy_pass http://appserver ;
             proxy_set_header        Host $host;
             proxy_set_header        X-Real-IP $remote_addr;
             proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for; 
        }
        access_log /var/log/nginx/blog.slogra.com.log;
  }
}
红色部分是配置缓存的参数。
说明:
1、http段设置。
proxy_temp_path /home/temp_dir;设置临时目录
proxy_cache_path /home/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;设置缓存目录为二级目录,共享内存区大小,非活动时间,最大容量,注意临时目录要跟缓存目录在同一个分区。
2、server段设置 
请求静态文件设置。
proxy_cache cache_one;设置缓存共享内存区块,也就是keys_zone名称。
proxy_cache_valid 200 302 1h;设置http状态码为200,302缓存时间为1小时。
expires 30d;设置失期时间,为30天
请求动态文件设置。
proxy_pass http://appserver ;不进行缓存,直接转到后端服务器。
测试: 当客户端发起http请求时在服务器上会产一个缓存文件如
 

/home/cache/0/b9/8bd841b1c44ee5b91457eb561e44eb90

OK

本文转载自:http://blog.csdn.net/yuwenruli/article/details/8541816

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
nginx高可用,构建LNAMMP架构

keepalived实现nginx高可用: Directory1: IP:172.16.72.5 Directory2: IP:172.16.72.4 RS1: IP:172.16.72.6 RS2: IP:172.16.72.7 Virtual IP:172.16.72.1 ①安装nginx,keepalive......

wujunqi1996
2018/06/28
0
0
Nginx的代理服务以及负载均衡

正向代理和反向代理的概念 正向代理服务器用来让局域网的客户机接入外网访问外网资源的 反向代理服务器用来让外网的客户接入局域网中的站点以访问站点中的资源 正向代理和反向代理两个概念主...

期待l
2018/08/09
0
0
nginx配置、反向代理缓存、负载均衡

一、nginx基本配置 nginx开启文件目录浏览功能(web上显示目录) php-fpm配置 静态资源读取 gzip 压缩 二、nginx配置https 1.激活所需要的网站的https获取crt和key证书 2.在nginx配置文件中配...

微笑向暖wx
2018/12/06
0
0
使用nginx缓存服务器上的静态文件

一、nginx缓存的优点 如图所示,nginx缓存,可以在一定程度上,减少源服务器的处理请求压力。 因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。nginx使用proxy_cache将用户的请...

wall
2018/05/10
0
0
使用Nginx的proxy_cache缓存功能取代Squid

[文章作者:张宴 本文版本:v1.2 最后修改:2009.01.12 转载请注明原文链接:http://blog.s135.com/nginx_cache/] Nginx从0.7.48版本开始,支持了类似Squid的缓存功能。这个缓存是把URL及相关...

晨曦之光
2012/03/09
215
0

没有更多内容

加载失败,请刷新页面

加载更多

如何利用 Data too long for column 进行一些简单的攻击

1: 前提条件, 后台没有校验长度和频率校验,也没有CSRF校验,直接往数据库插入数据,此时很容易触发Data too long for column错误(一般抛出异常都挺浪费资源的,耗时,耗内存,耗cpu),一旦...

专业写BUG的程序员
19分钟前
2
0
RMAN命令详解

一、list命令 1. List 当前RMAN所备份的数据库: 1.1. list backup summary; --概述可用的备份 list incarnation;--汇总查询 --如果备份文件多的话多用这两个list命令可以对备份文件有个总体...

突突突酱
22分钟前
1
0
简单聊聊Linux学习经历

学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内容千差万别,有的人是为...

问题终结者
30分钟前
1
0
Mysql高级 (2)——sql性能调优

sql 性能下降的原因 sql service的解析顺序 sql 的7中join

小小小施爷
34分钟前
1
0
MaxCompute用户初体验

作为一名初次使用MaxCompute的用户,我体会颇深。MaxCompute 开箱即用,拥有集成化的操作界面,你不必关心集群搭建、配置和运维工作。仅需简单的点击鼠标,几步操作,就可以在MaxCompute中上...

阿里云官方博客
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部