nginx编译安装pagespeed 优化网站访问速度

来源:互联网 发布:macbook使用windows 编辑:程序博客网 时间:2024/06/06 04:55

作为Nginx组件,nginx_pagespeed将重写你的网页,让用户以更快的速度访问。重写的工作包括压缩图片、缩减css和javascript、扩展缓存时间,同样还包括一些最佳实践:

优化缓存——整合应用程序数据和逻辑

最小化请求开销——削减上传大小

最小化负载大小——削减响应、下载及缓存页面大小

优化浏览器渲染——改善浏览器页面布局

移动方面的优化——优化站点移动网络和设备方面的相关特性


下载PageSpeed模块(已安装好nginx) 下载地址 

# cd /usr/local/src
<pre name="code" class="html"># wget https://github.com/pagespeed/ngx_pagespeed/archive/master.zip

解压文件到src目录下 (zip用的少,没用命令行,直接在图形界面下操作的)

# <span style="font-family: Arial, Helvetica, sans-serif;">cd /usr/local/src/ngx_pagespeed-master</span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="html" style="font-size: 14px;"><span style="font-family: Arial, Helvetica, sans-serif;"># </span><span style="font-family: Arial, Helvetica, sans-serif;">wget https://dl.google.com/dl/page-speed/psol/1.9.32.3.tar.gz</span><pre name="code" class="plain"><pre name="code" class="html" style="font-size: 14px;"><pre name="code" class="html" style="font-size: 14px;"><span style="font-family: Arial, Helvetica, sans-serif;"># </span><span style="font-family: Arial, Helvetica, sans-serif;">tar -xzvf 1.9.32.3.tar.gz # expands to psol/</span>


编译安装

 cd nginx-1.7.1 /usr/local/nginx/sbin/nginx -V #(复制以前的配置参数)./configure --with-http_secure_link_module --with-http_stub_status_module --add-module=../nginx-http-concat-master --add-module=../ngx_pagespeed-mastermake mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-20150422.bak #备份上一个nginx运行文件cp objs/nginx  /usr/local/nginx/sbin/nginx 



以上这种方式安装以后,就开始正式的配置nginx了,首先,在配置文件(nginx.conf)的server配置块加入这段话:

<span style="white-space:pre"></span>#google pageSpeed工具<span style="white-space:pre"></span>pagespeed on;<span style="white-space:pre"></span><span style="white-space:pre"></span># Needs to exist and be writable by nginx.  Use tmpfs for best performance. 文件缓存路径<span style="white-space:pre"></span>pagespeed FileCachePath /usr/local/nginx/ngx_pagespeed_cache;  <span style="white-space:pre"></span><span style="white-space:pre"></span><span style="white-space:pre"></span># 启用CoreFilters <span style="white-space:pre"></span>pagespeed RewriteLevel CoreFilters; <span style="white-space:pre"></span># 禁用CoreFilters中的某些过滤器 <span style="white-space:pre"></span>pagespeed DisableFilters rewrite_images; <span style="white-space:pre"></span># 选择性地启用额外的过滤器 <span style="white-space:pre"></span>pagespeed EnableFilters collapse_whitespace; <span style="white-space:pre"></span>pagespeed EnableFilters lazyload_images; <span style="white-space:pre"></span>pagespeed EnableFilters insert_dns_prefetch; <span style="white-space:pre"></span><span style="white-space:pre"></span># Ensure requests for pagespeed optimized resources go to the pagespeed handler<span style="white-space:pre"></span># and no extraneous headers get set.<span style="white-space:pre"></span>location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {  <span style="white-space:pre"></span>add_header "" "";<span style="white-space:pre"></span>}<span style="white-space:pre"></span>location ~ "^/pagespeed_static/" { }<span style="white-space:pre"></span>location ~ "^/ngx_pagespeed_beacon$" { }<span style="white-space:pre"></span>


------------------------------------------------------------------------------------分隔线----------------------------------------------------------------------------------------------------------------------------------------

对配置文件的简单了解:

pagespeed RewriteLevel PassThrough;

pagespeed 提供3种"levels" 来配置简化:PassThrough ,CoreFilters,和 OptimizeForBandwidth  。CoreFilters含有一系列PageSpeed过滤器,谷歌认为这些过滤器对大多数网站来说是安全的。如果启用CoreFilters,你就自动启用了一系列"安全"规则。所以,推荐新手用户采用这种方法。如果你愿意,也可以禁用CoreFilters中的某个或某些过滤器,或者选择性地启用额外的过滤器。下面这个例子表明了使用CoreFilters的ngx_pagespeed配置。

 server {   # 侦听的端口  listen 80;  # 服务器名称  server_name xmodulo.com www.xmodulo.com;  # 记下根目录  root /usr/local/nginx/html;  # 访问日志  access_log /var/log/nginx/access.log main; # 启用ngx_pagespeed pagespeed on; <pre name="code" class="plain">#缓存文件路径pagespeed FileCachePath /usr/local/nginx/ngx_pagespeed_cache;# 启用CoreFilters pagespeed RewriteLevel CoreFilters; # 禁用CoreFilters中的某些过滤器 pagespeed DisableFilters rewrite_images; # 选择性地启用额外的过滤器 pagespeed EnableFilters collapse_whitespace; pagespeed EnableFilters lazyload_images; pagespeed EnableFilters insert_dns_prefetch; }


想了解CoreFilters中的全部过滤器,请参阅官方文档







0 0