我正在尝试设置nginx来缓存静态文件,例如图像,css和js.

这是我的conf.

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /var/www/site;
        index  index.html index.htm;
  }

        location ~* \.(?:ico|css|js|gif|jpe?g|png)${
                expires max;
                add_header Pragma public;
                add_header Cache-Control "public,must-revalidate,proxy-revalidate";
        }

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}
}

当我尝试使用它时,我在所有文件上获得404,当我删除位置* …我可以完美地检索所有文件.我的文件在/var/www/site/images/*/*.jpg中.我在这里错过了什么?
最佳答案
问题在于

location ~* \.(?:ico|css|js|gif|jpe?g|png)${
        expires max;
        add_header Pragma public;
        add_header Cache-Control "public,proxy-revalidate";
}

它应该设置根路径.

location ~* \.(?:ico|css|js|gif|jpe?g|png)${
            root /var/directory/...
            expires max;
            add_header Pragma public;
            add_header Cache-Control "public,proxy-revalidate";
    }

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。