in 未分类

nginx 代理和cache

nginx代理和cache

代理
[root@jack03 conf.d]# cat default.conf
#
# The default server
#

upstream web01 {
server 10.21.252.18:80;
keepalive 2000;
}

server {
listen 80 default_server;
server_name 10.21.252.20;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
proxy_pass http://web01/;
proxy_set_header Host $host:$server_port;

}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}

}

这样,访问10.21.252.20的时候,会访问到10.21.252.18

NGINX作为Cache服务器时将资源内容以文件形式进行缓存,缓存元信息存储于共享内存中,组织成一棵红黑树。红黑树中的每个节点代表一个Cache元信息。NGINX将Cache Key的HASH值作为红黑树节点的KEY。内容缓存文件以该HASH值作为文件名存储在磁盘上。

cache设置

nginx.conf 设置
在http的设置中,添加
proxy_buffering on;
proxy_cache_path /data levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g;

在default.conf中添加

location / {
proxy_pass http://web01/;
proxy_set_header Host $host:$server_port;

# 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;
}

这样,访问10.21.252.20的时候,文件会给缓存在/data目录下

Write a Comment

Comment