nginx缓存模块配置总结proxy_cache(未完)
简介:此缓存设置用到了第三方模块purge,使用的时候就在源链接和访问的具体内容之间加入关键字"/purge/"即可。
如:访问http://192.168.0.1/a.png 会生成a.png的缓存文件;
只要通过http://192.168.0.1/purge/a.png就可以将生成的缓存清除掉了。
一、获取安装包
获取安装包: wget http://nginx.org/download/nginx-1.7.9.tar.gz
获取缓存清理模块: wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
二、安装nginx
[root@HOST]# tar -xvzf nginx-1.7..tar.gz
[root@HOST]# tar -zxvf ngx_cache_purge-2.3.tar.gz
[root@HOST]# cd nginx-1.7.
[root@HOST]# ./configure --prefix=/usr/local/nginx \ --add-module=../ngx_cache_purge-2.3
[root@HOST]# make
[root@HOST]# make install
三、配置nginx(主要添加加粗字体部分)
[root@HOST]cd /usr/local/nginx
[root@HOST]vi ./conf/nginx.conf
用加粗字体替换掉原来的部分
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
client_body_buffer_size 512k;
proxy_connect_timeout 10;
proxy_read_timeout 180;
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/mpeg/cache_n/temp;
proxy_cache_path /home/mpeg/cache_n levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;
keepalive_timeout 65;
server {
listen 8055;
server_name localhost; location / {
proxy_cache content;
proxy_cache_valid 200 302 304 206 24h;
proxy_cache_valid any 1d;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_key $host$uri$is_args$args;
proxy_pass http://192.168.0.1:80;
} location ~ /pure(/.*) {
allow 192.0.0.0/24;
deny all;
proxy_cache_purge content $host$host$1$is_args$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
四、说明
/*********************************************
此段为注释:
----------------------------------------------
client_body_buffer_size 512k;
proxy_connect_timeout 10;
proxy_read_timeout 180;
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/mpeg/cache_n/temp; //这个是临时缓存文件存放的路径
proxy_cache_path /home/mpeg/cache_n levels=1:2 keys_zone=content:20m inactive=1d max_size=100m; //这个路径是最终真实文件的缓存路径
keepalive_timeout 65;
-------------------------------------------------------
location / {
proxy_cache content;
proxy_cache_valid 200 302 304 206 24h; //你要缓存的http状态码和它们的缓存时间
proxy_cache_valid any 1d;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_key $host$uri$is_args$args; //缓存文件的命名规则
proxy_pass http://192.168.0.1:80; //nginx代理的服务器地址
}
---------------------------------------------------------
location ~ /pure(/.*) { //这个location主要就是把url中带/pure/的链接筛选出来,然后执行我们刚才安装的那个第三方清理缓存的模块。
allow 192.0.0.0/24;
deny all;
proxy_cache_purge content $host$host$1$is_args$args;
}
**********************************************
nginx缓存模块配置总结proxy_cache(未完)的更多相关文章
- virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)
virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...
- 009.Nginx缓存及配置
一 浏览器缓存 1.1 缓存概述 缓存对于Web至关重要,尤其对于大型高负载Web站点.Nginx缓存可作为性能优化的一个重要手段,可以极大减轻后端服务器的负载.通常对于静态资源,即较少经常更新的资源 ...
- Ubuntu 16.04 LTS nodejs+pm2+nginx+git 基础安装及配置环境(未完,未整理)
-.Ubuntu 安装nodejs 以下内容均在命令行,完成,首先你要去你电脑的home目录:cd ~. [sudo] apt-get update [sudo] apt-get upgrade ap ...
- nginx FastCGI模块配置
这个模块允许nginx同FastCGI协同工作,并且控制哪些参数将被安全传递. location / { fastcgi_pass localhost:9000;# 或者http://ip:9000; ...
- nginx concat模块配置 页面返回400 bad request
在1.4.x版本的nginx没有发现这个问题,但是在1.5.x版本就遇到了这个问题 由于Nginx在新版本中,使用了标准的 MIME-Type:application/javascript.而在ngi ...
- nginx gzip 模块配置
#gzip模块设置 gzip on; #开启gzip压缩输出 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区 gzip_http_ve ...
- Python模块:Random(未完待续)
本文基于Python 3.6.5的官文random编写. random模块简介 random为各种数学分布算法(distributions)实现了伪随机数生成器. 对于整数,是从一个范围中均匀选择(u ...
- 5.6 Nginx Rewrite模块配置
- Nginx缓存配置以及nginx ngx_cache_purge模块的使用
web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...
随机推荐
- 得到设备是何种iPhone设备 + 怎么获得启动页面图片
一.前言 今天做一个功能,需要动态的获得启动页,然后根据不同设备去使用不用的启动页图片. 二.正文 常规来说,我们直接判断是何种设备,然后通过name去获得图片选择性加载即可.但是实际上遇到的两个问题 ...
- iOS多线程技术
iOS多线程技术主要分配NSThread.NSOperation和GCD.下边来简单的介绍一下吧. 随性一点,就不按照顺序来了.所以先介绍一下NSOperation. ---------------- ...
- IOS 杂笔-8(loadView、viewDidLoad、viewWillAppear、viewDidAppear等简介)
loadView; This is where subclasses should create their custom view hierarchy if they aren't using a ...
- IOS 杂笔- 6(KVC-KVO)
kvc: 键值编码的基本概念 1:键值编码是一个用于间接访问对象属性的机制,使用该机制不需要调用存取方法和变量实例就可以访问对象属性. 2:键值编码方法在Objective-C非正式协(类别)NSKe ...
- runtime之消息转发
前言 在上一篇文章中我们初尝了runtime的黑魔法,可以在程序编译阶段就获取到成员变量的名字,特性以及动态的给对象增加属性等等,在接下来中我们进一步了解OC的消息发送机制.如果之前没接触过runti ...
- IntelliJ IDEA 2016.2.4下载与注册码
下载地址 https://download.jetbrains.8686c.com/idea/ideaIU-2016.2.4.dmg 注册码 43B4A73YYJ-eyJsaWNlbnNlSWQiOi ...
- IOS开发之功能模块--自定义导航控制器类常用自定义的代码
前言:本文篇幅不多,但是涉及到的内容却是开发中常用的. 涉及的内容: 1.统一设置导航控制器子控制器的返回按钮. 2.因为修改了系统的返回按钮,所以还需要设置手势事件. 3.隐藏底部的工具条. 这里直 ...
- LINQ SQL分组取最近一条记录
最近项目有一个需求,从订单表查询出每个客户最近一条订单记录.数据库表结构如下图 SELECT * FROM ( select ROW_NUMBER()over(partition by [custid ...
- 获取byte数组的实际使用长度
背景:byte.length只能获取到初始化的byte数组长度,而不是实际使用的长度,因此想要获取到实际的使用长度只能靠其他方法实现. 方法一: public class ByteActualLeng ...
- fastCGI与PHP-fpm
fastCGI是nginx和php之间的一个通信接口,该接口实际处理过程通过启动php-fpm进程来解析php脚本,即php-fpm相当于一个动态应用服务器,从而实现nginx动态解析php.因此,如 ...