• 之前我修改的那个低配置优化版本 编译了之后不小心给rm -rf 了 ,今天整理一下安装的步骤。

    首先,下载 nginx 的源代码到服务器,例如 /root/nginx/

    cd /root/nginx 
    wget http://nginx.org/download/nginx−1.7.4.tar.gz 
    tar zxvf  nginx−1.7.4.tar.gz
    

    然后下载 Google Pagespeed 模块到服务器

    wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.8.31.4−beta.tar.gz 
    tar zxvf v1.8.31.4−beta.tar.gz 
    

    configure 一下nginx 他会提示你没有下载psol库

    cd /root/nginx/nginx-1.7.4/
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --add-module=/root/nginx/ngx_pagespeed-1.8.31.4-beta 
    
    
    check....(省略)
    ngx_pagespeed: pagespeed optimization library not found:
    
       You need to separately download the pagespeed library:
    
         $ cd /path/to/ngx_pagespeed
         $ wget https://dl.google.com/dl/page-speed/psol/1.8.31.4.tar.gz
         $ tar -xzvf 1.8.31.4.tar.gz # expands to psol/
    
       Or see the installation instructions:
         https://github.com/pagespeed/ngx_pagespeed#how-to-build
    

    按照它的指示下载 psol 库

    cd /root/nginx/ngx_pagespeed-1.8.31.4-beta/
    wget https://dl.google.com/dl/page-speed/psol/1.8.31.4.tar.gz
    tar -xzvf 1.8.31.4.tar.gz
    

    编译并升级 nginx 记得把脚本里的路径换成你自己的

    cd /root/nginx/nginx-1.7.4/
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --add-module=/root/nginx/ngx_pagespeed-1.8.31.4-beta
    make
    
    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
    cp objs/nginx /usr/local/nginx/sbin/nginx
    /usr/local/nginx/sbin/nginx -t
    make upgrade
    echo "OK!"
    cd ../
    
    echo "Restarting Nginx..."
    /etc/init.d/nginx restart
    

    至此就完成了 pagespeed 模块的安装 , 接下来进行配置

    编辑 vhost 文件的 server 段 加入以下内容。如果不需要某个功能 去掉那一行即可。

    纯手打 可能有些小错误

    pagespeed on;
    # 开启 Pagespeed
    pagespeed FileCachePath /var/ngx_pagespeed_cache;
    # 设置缓存目录
    pagespeed RewriteLevel CoreFilters;
    # Rewrite 级别 出于安全考虑 这里尽量不要修改
    pagespeed EnableFilters local_storage_cache;
    # 本地缓存
    pagespeed EnableFilters collapse_whitespace,remove_comments;
    # 自动去除缩进和页面中的注释  if 注释除外
    pagespeed EnableFilters outline_css;
    # 自动将过长的 CSS 标签 放到独立文件中
    pagespeed EnableFilters flatten_css_imports;
    # 这个没太看懂
    pagespeed EnableFilters move_css_above_scripts;
    # 将 CSS 放到 Script 的后面
    pagespeed EnableFilters move_css_to_head;
    # 将 CSS 放到页面头部
    pagespeed EnableFilters outline_javascript;
    # 自动将过长的 Script 标签 放到独立文件中
    pagespeed EnableFilters combine_javascript;
    # 自动合并多个 JS 文件
    pagespeed EnableFilters combine_css;
    # 自动合并多个 CSS 文件
    pagespeed EnableFilters rewrite_javascript;
    # 对 JS 的 URL 进行重写 貌似是在 URL 的后面添加了 Hash 以便内容能同步更新到用户的浏览器中
    pagespeed EnableFilters rewrite_css,sprite_images;
    # 检测 CSS 中的背景图片 并把它们合为一张大图片 在使用时自动截取原来的部分
    pagespeed EnableFilters rewrite_style_attributes;
    # 当 rewrite css 启用时 将自动压缩 CSS 
    pagespeed EnableFilters recompress_images;
    # 自动压缩图片
    pagespeed EnableFilters resize_images;
    # 自动缩放图片到合适大小
    pagespeed EnableFilters convert_meta_tags;
    # 将 meta 转换为 header 
    location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
    location ~ "^/ngx_pagespeed_static/" { }
    location ~ "^/ngx_pagespeed_beacon$" { }
    location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
    location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
    

    修改完成后保存上传 重启nginx

    刷新几下网页 是不是感觉变快了?