Nginx SPDY Pagespeed模塊編譯——加速網站載入

jopen 10年前發布 | 26K 次閱讀 Nginx Web服務器

在看《Web性能權威指南》的時候,看到了SPDY這貨,于是便開始折騰起了這個了,也順便把pagespeed加了進去。

Nginx SPDY

引自百科~~

SPDY(讀作“SPeeDY”)是Google開發的基于TCP的應用層協議,用以最小化網絡延遲,提升網絡速度,優化用戶的網絡使用體驗。 SPDY并不是一種用于替代HTTP的協議,而是對HTTP協議的增強。新協議的功能包括數據流的多路復用、請求優先級以及HTTP報頭壓縮。谷歌表示, 引入SPDY協議后,在實驗室測試中頁面加載速度比原先快64%。

</blockquote>

在新版本的Nginx中默認是不開啟SPDY的,所以我們需要重新編譯我們的nginx。

編譯Nginx

1.下載這個軟件的源碼包

wget http://nginx.org/download/nginx-1.7.4.tar.gz

2.解壓軟件包

tar -vf nginx-1.7.4.tar.gz

3.到nginx目錄下

cd nginx-1.7.4

4.配置nginx

一次簡單的配置如下

./configure --with-http_spdy_module --with-http_ssl_module

當你熟練以后,你可能和我一樣用下面的配置(注意:用下面的代碼會出錯。)

./configure --user=www --group=www  --prefix=/usr/local/nginx --with-pcre --with-http_spdy_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-ipv6

過程中可能會提示你其中出了多少錯誤,而這時你便可以很愉快地去用搜索引擎搜索他們。

5.make

這里就會用到GCC等等。

make

6.運行

如果運行順利的話,應該可以直接

./objs/nginx

Nginx Pagespeed

mod_pagespeed于2010年發布,讓網站管理員可以為其Web應用提速,而不需要深度的性能優化造詣。mod_pagespeed最初 版本只作為Apache的模塊,并不兼容Nginx這個最流行并為許多大型站點所使用的高性能開源網絡服務器。如今Nginx的PageSpeed Beta版終于發布,又名ngx_pagespeed。

</blockquote>

編譯的時候看到Pagespeed也更新了,于是順便更新了Nginx Pagespeed模塊。編譯的時候發現里面的config文件有一部分是錯的,于是便建了個pull request,只是Google的PR好麻煩,還要CLA。

先奉上腳本

./configure --user=www --group=www --add-module=../ngx_pagespeed-1.8.3.4-beta --prefix=/usr/local/nginx --with-pcre --with-http_spdy_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-ipv6

Nginx Pagespeed編譯

Google給出了一個腳本

  1. 下載ngx_pagespeed

    cd NPS_VERSION=1.8.31.4 wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip unzip release-${NPS_VERSION}-beta.zip cd ngx_pagespeed-release-${NPS_VERSION}-beta/ wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz tar -xzvf ${NPS_VERSION}.tar.gz # extracts to psol/

    </li> </ol>

    2.編譯nginx

    cd # check http://nginx.org/en/download.html for the latest version NGINX_VERSION=1.6.0 wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
    tar -xvzf nginx-${NGINX_VERSION}.tar.gzcd nginx-${NGINX_VERSION}/
    ./configure --add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}-beta
    makesudo make install

    Nginx pagespeed配置

    配置過程可以參考這篇文檔https://developers.google.com/speed/pagespeed/module/configuration

    配置SPDY NGX_PAGESPEED

    一個簡單的SPDY配置如下

    server {... ...         listen 10.1.2.3:443 ssl spdy;
            server_name  yoursite.com;... ... ... }

    SPDY需要HTTPS,HTTPS需要證書。

    我的配置大致如下所示 http {

      pagespeed on</span>;
      pagespeed Statistics on</span>;
      pagespeed StatisticsLogging on</span>;
      pagespeed FileCachePath /home/ngx_pagespeed_cache;  # Use tmpfs for best results.   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,extend_cache,move_css_to_head,sprite_images;
      pagespeed PreserveUrlRelativity on</span>;
      pagespeed RespectVary on</span>;
      pagespeed XHeaderValue "Powered By Phodal";

    server { listen 443 ssl spdy; server_name www.phodal.com; ssl on</span>; location / {

    }
    

    }</code></pre> 來自:http://www.phodal.com/blog/use-spdy-pagespeed-module-with-nginx-speed-website/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!