你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
nccloud
在nginx.conf的http端加如下
proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=first:20m max_size=10g inactive=3600m;
在location段加
location ~ .*\.(gif|jpg|png|css|js|wof|woff|jpeg|ico|zip)(.*) { proxy_cache first; #first就是上面定义的指定缓存元数据的区域空间名称 proxy_cache_valid 200 304 60m; #表示nginx只缓存状态码为200和304的响应数据,且数据在缓存时,有效期为60min proxy_cache_valid any 10m;#其他的缓存10分钟 proxy_cache_key $host$uri$is_args$args; #使用什么做key,可以不定义,系统自动定义名字 # 在httpd响应报文中添加额外项X-cache,用于查看缓存是否命中,可加可不加的 add_header x-cache "$upstream_cache_status by $server_addr";
}
如何配置proxy_cache模块
在nginx.conf文件中添加如下代码:
http{
......
proxy_cache_path
/data/nginx/tmp-test
levels=1:2 keys_zone=tmp-
test
:100m inactive=7d max_size=1000g;
代码说明:
proxy_cache_path 缓存文件路径
levels 设置缓存文件目录层次;levels=1:2 表示两级目录
keys_zone 设置缓存名字和共享内存大小
inactive 在指定时间内没人访问则被删除
m ax_size 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。
当配置好之后,重启nginx,如果不报错,则配置的proxy_cache会生效
查看 proxy_cache_path / data/ nginx / 目录, 会发现生成了 tmp -test 文件夹。
如何使用proxy_cache
在你对应的nginx vhost server配置文件中添加如下代码:
location
/tmp-test/
{
proxy_cache tmp-
;
proxy_cache_valid 200 206 304 301 302 10d;
proxy_cache_key $uri;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_passhttp:
//127
.0.0.1:8081
/media_store
.php
配置项介绍: Proxy_cache tmp -test 使用名为 tmp -test 的对应缓存配置
proxy_cache_valid 200 206 304 301 302 10d; 对httpcode为200…的缓存10天
proxy_cache_key $uri 定义缓存唯一key,通过唯一key来进行hash存取
proxy_set_header 自定义http header头,用于发送给后端真实服务器。
proxy_pass 指代理后转发的路径,注意是否 需要 最后的 /
到这里,最基本的 proxy_cache 功能就配置成功了。当uri成功匹配到该location,则proxy_cache就会生效。
例如前台传参为deviceid ,那在nginx中获取可以用$http_deviceid
proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header deviceId $http_deviceid;
proxy_set_header terminalType $http_terminaltype;
要回复问题请先登录或注册
3 个回复
nccloud
在nginx.conf的http端加如下
proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=first:20m max_size=10g inactive=3600m;
在location段加
location ~ .*\.(gif|jpg|png|css|js|wof|woff|jpeg|ico|zip)(.*) {
proxy_cache first; #first就是上面定义的指定缓存元数据的区域空间名称
proxy_cache_valid 200 304 60m; #表示nginx只缓存状态码为200和304的响应数据,且数据在缓存时,有效期为60min
proxy_cache_valid any 10m;#其他的缓存10分钟
proxy_cache_key $host$uri$is_args$args; #使用什么做key,可以不定义,系统自动定义名字
# 在httpd响应报文中添加额外项X-cache,用于查看缓存是否命中,可加可不加的
add_header x-cache "$upstream_cache_status by $server_addr";
}
nccloud
如何配置proxy_cache模块
在nginx.conf文件中添加如下代码:
http{
......
proxy_cache_path
/data/nginx/tmp-test
levels=1:2 keys_zone=tmp-
test
:100m inactive=7d max_size=1000g;
}
代码说明:
proxy_cache_path 缓存文件路径
levels 设置缓存文件目录层次;levels=1:2 表示两级目录
keys_zone 设置缓存名字和共享内存大小
inactive 在指定时间内没人访问则被删除
m ax_size 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。
当配置好之后,重启nginx,如果不报错,则配置的proxy_cache会生效
查看 proxy_cache_path / data/ nginx / 目录, 会发现生成了 tmp -test 文件夹。
如何使用proxy_cache
在你对应的nginx vhost server配置文件中添加如下代码:
location
/tmp-test/
{
proxy_cache tmp-
test
;
proxy_cache_valid 200 206 304 301 302 10d;
proxy_cache_key $uri;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_passhttp:
//127
.0.0.1:8081
/media_store
.php
/tmp-test/
;
}
配置项介绍: Proxy_cache tmp -test 使用名为 tmp -test 的对应缓存配置
proxy_cache_valid 200 206 304 301 302 10d; 对httpcode为200…的缓存10天
proxy_cache_key $uri 定义缓存唯一key,通过唯一key来进行hash存取
proxy_set_header 自定义http header头,用于发送给后端真实服务器。
proxy_pass 指代理后转发的路径,注意是否 需要 最后的 /
到这里,最基本的 proxy_cache 功能就配置成功了。当uri成功匹配到该location,则proxy_cache就会生效。
nccloud
例如前台传参为deviceid ,那在nginx中获取可以用$http_deviceid
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header deviceId $http_deviceid;
proxy_set_header terminalType $http_terminaltype;