nginx代理,如何缓存后端Web服务器上的静态页面;
时间: 2023-11-28 11:51:36 浏览: 53
可以通过使用 Nginx 的 proxy_cache 模块来缓存后端 Web 服务器上的静态页面。以下是缓存后端 Web 服务器上静态页面的示例配置:
```
http {
# 定义缓存路径和缓存大小
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
server {
listen 80;
server_name example.com;
location / {
# 启用代理缓存
proxy_cache my_cache;
proxy_cache_valid 200 60m; # 缓存60分钟
proxy_pass http://backend_server;
}
}
}
```
在上面的示例中,proxy_cache_path 定义了缓存路径和缓存大小。proxy_cache_key 定义了缓存的键名,其中包括请求协议、请求方法、请求主机和请求 URI。
在 server 块中,启用了代理缓存,并通过 proxy_cache_valid 设置了缓存时间为 60 分钟。最后通过 proxy_pass 指定了后端 Web 服务器的地址。
当用户请求某个静态页面时,Nginx 会先查看缓存中是否有该页面的副本,如果存在,则直接返回缓存的页面,否则会从后端 Web 服务器上获取页面并缓存起来,同时返回给用户。这样可以大大减少后端 Web 服务器的负载,提高网站的访问速度。