我正在努力为我的nginx盒找到最好的方法。当然,我的目标是为我的用户提供最好的性能和最佳的加载时间。
因此,我在加载测试nginx,并在nginx论坛的maxim-dounin的帮助下,发现我的吞吐量问题是动态地压缩静态资产。
在构建过程中,我将不得不对所有内容进行预压缩,这非常容易--并且只在comp级别@1或2的动态内容上运行gzip,这应该可以节省一些cpu,并允许我使用AWSm1.小型ec2实例为尽可能多的用户服务。
但我也打算使用ngx_pagespeed来优化这些静态资产,缩小,合并,ngx_pagespeed做得很好的东西。我的意思是,我可以在构建过程中处理jpgoptim和pngoptim,但是结合css/js更困难。
我正在使用以下ngx_pagespeed配置:
pagespeed on;
pagespeed EnableFilters combine_css,combine_javascript,canonicalize_javascript_libraries,collapse_whitespace,convert_meta_tags,dedup_inlined_images,flatten_css_imports,inline_import_to_link,inline_css,inline_javascript,rewrite_javascript,remove_comments,rewrite_css,rewrite_images,convert_gif_to_png,recompress_png,convert_jpeg_to_progressive,strip_image_color_profile,strip_image_meta_data,insert_image_dimensions;
pagespeed JpegRecompressionQuality 80;
pagespeed FileCacheSizeKb 256000; #256mb
pagespeed FileCacheCleanIntervalMs 3600000;
pagespeed FileCacheInodeLimit 500000;
pagespeed FileCachePath /run/shm/nginx/pagespeed_cache;
pagespeed Statistics on;
pagespeed StatisticsLogging on;
pagespeed LogDir /var/log/pagespeed;
pagespeed LowercaseHtmlNames on;对于ngx_pagespeed如何与nginx gzip_static一起工作有什么想法吗?我的意思是,就我的预期而言,ngx_pagespeed是在nginx的前面运行,因为它将它优化的所有东西都缓存到tmpfs。如果服务器从tmpfs获得了一个已经优化的资产,那么它的服务器就会受到攻击,而我在缓存文件夹中查找got文件,却找不到任何文件。首先,ngx_pagespeed做它自己的压缩吗?它是动态运行还是缓存压缩版本?
当它从nginx (gzip_static on)接收到一个已经压缩的资产时,情况如何?它是否必须解压缩,然后在优化后再进行gzip?
我如何才能同时拥有最好的预压缩静态资产和ngx_pagespeed优化?
非常感谢并致以最良好的问候。
发布于 2013-10-28 21:25:06
我能够完成我的目标,把清漆放在Nginx前面。清漆缓存,gziped版本的资产和网页。ngx_pagespeed下游缓存清除(查看nxg_pagespeed文档获取更多信息)正在正常工作,当优化(我猜是在后台运行)完成时,发送清除请求进行清漆。现在的表演很棒。
https://stackoverflow.com/questions/19188305
复制相似问题