3 回答
TA贡献1841条经验 获得超3个赞
尽管我不是Nginx专家,但我觉得我现在对如何执行此操作有了更好的了解。当我发现更多信息时,我将更新此答案。
我最初的问题的一种可能的解决方案是:
location ~* "^/[a-z0-9]{40}\.(css|js)$" {
root /home/ubuntu/app/bundle/programs/web.browser;
access_log off;
expires max;
}
内容如下:在该web.browser目录中,可以找到此站点的任何网址,该网址包含斜杠后跟40个字母数字字符+ .js或.css 。静态地为这些文件提供服务,不要将它们写入访问日志,并告诉客户端它们可以永远被缓存。
因为主要的css和js文件是在每个bundle操作后唯一命名的,所以这样做应该是安全的。
我将在此处维护此示例的完整版本。还值得注意的是,我正在使用最新的nginx版本,该版本支持WebSockets,如此处所述。
最后,不要忘记在您的nginx配置中完全启用gzip。我的gzip部分如下所示:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
完成所有这些之后,我在pagespeed上获得了不错的成绩。
TA贡献1844条经验 获得超8个赞
尼斯-很高兴您能正常使用。我没有将gzip设置添加到要点,因为它们确实属于您的主要nginx.conf的不同部分,而不是站点配置中。我认为这是真正的解决方案,如果我写博客介绍如何在生产中做到这一点。当我这样做时,我将从答案中添加一个链接。
- 3 回答
- 0 关注
- 469 浏览
添加回答
举报