nginx 配置 HTTP 强缓存

Posted 这个男人来自三体

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 配置 HTTP 强缓存相关的知识,希望对你有一定的参考价值。

server {
    listen       80;
    server_name  tirion.me www.tirion.me;

    # note that these lines are originally from the "location /" block
    root   /home/www/wordpress;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    # 配置 HTTP 强缓存静态文件,通过 Response Header 头返回
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
        expires 3d;
    }
}

上面通过 Response Header 通知浏览器将 gif|jpg|jpeg|png|bmp|swf|js|css 文件缓存3天

浏览器访问后再 Response Header 中可以看到

Cache-Control: max-age=31536000
这些文件就不会再从服务器重新获取,而是直接从浏览器的缓存中获取,从而提高网络性能。

以上是关于nginx 配置 HTTP 强缓存的主要内容,如果未能解决你的问题,请参考以下文章

nginx 配置vue项目缓存

HTTP学习彻底弄懂 Http 缓存机制 - 浏览器缓存机制详解

HTTP学习彻底弄懂 Http 缓存机制 - 浏览器缓存机制详解

Nginx小节

基于Nginx设置浏览器协商缓存过程详解

Nginx为uwsgi服务做缓存的配置方法