Nginx SPDY Pagespeed模块编译——加速网站载入

本文介绍如何通过SPDY协议和NginxPagespeed模块来优化Nginx服务器性能,包括编译配置Nginx支持SPDY、安装配置Pagespeed模块等步骤。

在看《Web性能权威指南》的时候,看到了SPDY这货,于是便开始折腾起了这个了,也顺便把pagespeed加了进去。

Nginx SPDY

引自百科~~

SPDY(读作“SPeeDY”)是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流的多路复用、请求优先级以及HTTP报头压缩。谷歌表示,引入SPDY协议后,在实验室测试中页面加载速度比原先快64%。

在新版本的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。

编译的时候看到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/ 

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.gz cd nginx-${NGINX_VERSION}/ ./configure --add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}-beta make sudo 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;
  pagespeed Statistics on;
  pagespeed StatisticsLogging on; 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; pagespeed RespectVary on; pagespeed XHeaderValue "Powered By Phodal"; server { listen 443 ssl spdy; server_name www.phodal.com; ssl on; location / { } } 

转载于:https://www.cnblogs.com/archoncap/p/4988855.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值