Nginx启用SPDY协议教程

昨天晚上把博客改成了SSL访问,突然脑海中就浮现出了SPDY协议。先说说什么是SPDY协议吧,SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流的多路复用、请求优先级,以及HTTP包头压缩。简单来说,通过SPDY协议可以提升网站的加载速度。

启用SPDY协议有两个前提,第一是服务端需要启用SPDY协议,并且是使用SSL 443端口进行访问的,其次是浏览器也需要支持SPDY协议(目前最新版本的Chrome和Firefox都已经支持)。

下面来简单介绍下Nginx如何启用SPDY协议。Nginx从1.4.0稳定版开始就已经支持SPDY协议,不过在编译的时候需要增加相应的配置参数,大家如果是使用LNMP脚本来搭建环境的话,建议可以通过直接修改upgrade_nginx.sh文件后重新编译nginx的方式来进行。打开upgrade_nginx.sh后,找到如下代码,并进行修改:

1
2
3
4
5
6
修改前
cd nginx-$nginx_version/
./configure --user=www --group=www --prefix=/wp-content/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6
修改后
cd nginx-$nginx_version/
./configure --user=www --group=www --prefix=/wp-content/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_spdy_module

重新编译安装后,需要对nginx的conf文件进行如下修改:

1
2
3
4
5
6
7
8
server
{
listen 443 ssl spdy;//在这里加入spdy,这样即可启用SPDY协议
ssl on;
ssl_certificate /wp-content/local/nginx/conf/jayshao.crt;
ssl_certificate_key /wp-content/local/nginx/conf/jayshao.key;
...
}

重启Nginx,经过上述步骤,即可启用Nginx的SPDY协议了,打开博客后可以通过输入chrome://net-internals/#spdy 来查看你的网址是否成功启用。