PURGE模块下载http://labs.frickle.com/files/ngx_cache_purge-1.2.tar.gz
tar zxvf ngx_cache_purge-1.2.tar.gz
其他模块安装详见 nginx安装与配置
在nginx目录下编译
#./configure --add-module=../ngx_cache_purge-1.2 --with-http_realip_module --with-http_gzip_static_module
--with-http_stub_status_module --with-http_ssl_module
--with-pcre=../pcre-8.10 --with-openssl=../openssl-1.0.0 --with-zlib=../zlib-1.2.5
#make
#make install
安装完成,进入/usr/local/nginx/conf
vi nginx.conf
user nobody nobody;
worker_processes 4;
error_log logs/nginx_error.log crit;
pid logs/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 utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 300m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
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;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
#注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
proxy_temp_path /opt/data/proxy_temp_dir;
#设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。
proxy_cache_path /opt/data/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=5g;
upstream backend_server {
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
}
server
{
listen 80;
server_name www.domain.com;
index index.html index.htm;
root /opt/data/www;
location /
{
#如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache cache_one;
#对不同的HTTP状态码设置不同的缓存时间
proxy_cache_valid 200 304 12h;
#以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
proxy_cache_key $host$uri$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://backend_server;
expires 1d;
}
#用于清除缓存,假设一个URL为http://192.168.6.5/test.txt,通过访问http://192.168.6.5/purge/test.txt就可以清除该URL的缓存。
location ~ /purge(/.*)
{
#设置只允许指定的IP或IP段才可以清除URL缓存。
allow 127.0.0.1;
allow 192.168.6.0/24;
deny all;
proxy_cache_purge cache_one $host$1$is_args$args;
}
#扩展名以.jspa .jsp结尾的动态应用程序不缓存.
location ~ .*\.(jspa|jsp)?$
{
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://backend_server;
}
access_log off;
}
}
启动nginx
#/usr/local/nginx/sbin/nginx
如果已经启动,导入配置文件如下
#ps aux | grep nginx
root 22891 0.0 0.0 208976 1832 ? Ss 11:47 0:00 nginx: master process ./nginx
nobody 23388 0.0 0.3 221520 13344 ? S 13:47 0:00 nginx: worker process
nobody 23389 0.0 0.3 221880 13868 ? S 13:47 0:00 nginx: worker process
nobody 23390 0.0 0.3 221520 13344 ? S 13:47 0:00 nginx: worker process
nobody 23391 0.0 0.3 221520 13344 ? S 13:47 0:00 nginx: worker process
nobody 23392 0.0 0.0 208976 840 ? S 13:47 0:00 nginx: cache manager process
root 27404 0.1 0.4 109648 16936 ? S 15:24 0:00 gedit file:///usr/local/nginx/conf/nginx.conf
root 27414 0.0 0.0 3236 752 pts/1 S+ 15:29 0:00 grep nginx
#kill -hup 22891
访问 www.domain.com/index.html
在缓存文件夹会产生一些目录
清楚
www.domain.com/purge/index.html
显示Successful purge
分享到:
相关推荐
本篇文章主要介绍了Nginx启用proxy_cache缓存的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
ngx_cache_purge 是 nginx 模块,此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存。配置指令(相同位置语法)fastcgi_cache_purgesyntax: fastcgi_cache_purge on|off|<method> [from all|<ip> [.....
nginx: [emerg] “proxy_cache_path” directive is not allowed here in /etc/nginx/conf.d/default.conf:29 提示意思“proxy_cache_path指令不被允许”,在官网上查找了相关说明,也没有发现问题,最后看应用范围...
前言:之前使用官方的nginx proxy_cache作为CDN静态缓存发现该模块清理缓存是一个大问题,只能一条一条url的清除,为此写了一个批量清除缓存的脚本 主要功能包括: 1.按文件类型清理 2.按具体的文件名清理 3.按网站...
Nginx缓存nginx有两种缓存机制:fastcgi_cache和proxy_cache下面我们来说说这两种缓存机制的区别吧proxy_cache作用是缓存后端服务器的...proxy_cache缓存设置复制代码 代码如下:#注:proxy_temp_path和proxy_cache_pat
碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1、在移动机房放置一台nginx反向代理服务器2、通过域名DNS智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器3、nginx反向代理...
在nginx中配置proxy_pass时,如果是按照^~匹配路径...proxy_cache js_cache; proxy_set_header Host js.test.com; proxy_pass http://js.test.com/; } 如上面的配置,如果请求的url是http://servername/wangshibo/tes
proxy_cache_path /data/nginx/cache/one levels=1:2 keys_zone=one:10m max_size=10g; proxy_cache_key $host$request_uri; server { server_name www.jb51.net jb51.net; root /home/www.jb51.net/web; index ...
利用Nginx的proxy_cache搭建缓存服务器一:编译ngx_cache_purge 1、Nginx的Proxy_cache是根据Key值md5哈希存储缓存,支持任意的Key,例如你可以根据”域名、URI、参数”组合成key,也支持非200状态码,如404/302等...
nginx缓存nginx有两种缓存机制:fastcgi_cache和proxy_cache下面我们来说说这两种缓存机制的区别吧proxy_cache作用是缓存后端服务器的...proxy_cache缓存设置#注:proxy_temp_path和proxy_cache_path指定的路径必须在同
nginx使用proxy_cache将用户的请求缓存到本地一个目录。下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。 毕竟,IO密集型服务的处理是nginx的强项。 二、如何进行设置 先上个栗子: http{ proxy_...
proxy_cache_valid 200 304 4h; expires 4h; } proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; location /app/ { # 动态页面,交给tomcat处理 proxy_pass ...
Nginx 0.8.32版本,proxy_cache和fastcgi_cache已经比较完善,加上第三方的ngx_cache_purge模块(用于清除指定URL的缓存),已经可以完全取代Squid。 在功能上,Nginx已经具备Squid所拥有的Web缓
19.Nginx+keepalived+proxy_cache配置高可用Nginx群集和高速缓冲 20.Nginx最难一战 优化指南 21.确保Nginx安全的10大关键技巧 Nginx变量详解 Nginx模块与实践案例 提供了目前所有互联网公司都在用的51个案例 常见...
只需要配置 proxy_cache_path 和 proxy_cache 就可以开启内容缓存,前者用来设置缓存的路径和配置,后者用来启用缓存。 http { ... proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size...
This directive appeared in version 1.1.12.当指令被指定时,根据 proxy_cache_key指令确定的若个或得出相同
Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 ... proxy_cache_bypass $http_upgrade; } }
第49章 Nginx实现对后台服务器实现“公平”访问 第50章 Nginx使用redis数据库 第51章 Nginx访问MongoDB 第52章 Nginx访问Mogilefs 第3部分 Nginx与缓存 第53章 缓存技术――proxy_cache 第54章 缓存技术――...