`

NGINX 配置 Pagespeed 压缩网站静态资源

阅读更多

Pagespeed 是一个开源项目,该项目在 Github 的开源地址为:https://github.com/pagespeed/ngx_pagespeed

Pagespeed 能够压缩您站点上的静态资源(CSS、JS、图片等),从而加快用户的网页加载速度。

Pagespeed 支持 Apache、Nginx。

本文,我们以 Nginx 为例进行 Pagespeed 配置。分三个步骤:

1.安装GCC等依赖库

请按您的系统类型执行。

Redhat、CentOS、Fedora:

$ sudo yum install gcc-c++ pcre-dev pcre-devel zlib-devel make

Debian、Ubuntu:

$ sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev

2.下载 ngx_pagespeed

$ cd ~ # 回到用户目录
$ wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.8.31.4-beta.zip # 下载 ngx_pagespeed 源码包
$ unzip v1.8.31.4-beta.zip # 解压刚才下载的压缩包
$ cd ngx_pagespeed-1.8.31.4-beta/ # 切到解压目录
$ wget https://dl.google.com/dl/page-speed/psol/1.8.31.4.tar.gz # 下载PSOL
$ tar -xzvf 1.8.31.4.tar.gz # 解压PSOL

3.配置到 Nginx 中

$ cd ~ # 回到用户目录
$ wget http://nginx.org/download/nginx-1.6.0.tar.gz #下载 Nginx 源码包
$ tar -xvzf nginx-1.6.0.tar.gz #解压 Nginx 源码包
$ cd nginx-1.6.0/ # 切到解压目录
$ ./configure --add-module=$HOME/ngx_pagespeed-1.8.31.4-beta #添加 Nginx 模块:pagespeed
$ make # 编译 Nginx

下面请根据您的情况选择

1) 如果您是新安装 Nginx ,执行:

$ sudo make install

2) 如果您之前已经安装过 Nginx,执行(下面的 Nginx 目录请根据您的实际情况替换,如:/usr/bin/nginx ):

$ cp /usr/sbin/nginx /usr/sbin/nginx.bak # 备份 Nginx 文件,以防不测
$ cp objs/nginx /usr/sbin/

至此已经配置好 Pagespeed 模块到 Nginx 中,接下来为您的站点添加 Pagespeed 支持:

编辑 /usr/local/nginx/conf/nginx.conf (请根据实际情况选择目录与文件),在 server 块中添加:

pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

需要注意的是,如果您有多个虚拟主机,需要将以上代码分别添加到各个主机的配置文件中去。

接着测试配置文件是否通过,下面的(下面的 Nginx 目录请根据您的实际情况替换,如:/usr/bin/nginx ):

$ sudo /usr/sbin/nginx -t # 测试配置文件

如果看到:

nginx:the configuration file /etc/nginx/nginx.conf syntax is ok
nginx:configuration file /etc/nginx/nginx.conf test is successful

即说明配置通过,否则执行升级代码:

$ sudo make upgrade

最后重启 Nginx 完成配置。

 

测试效果

查看源码,可以看到 CSS、JS 文件链接已经加上了后缀,JS代码也进行了压缩。

20140624112441

 

另外,通过 Chrome 的开发者工具(F12)也能看到被加上了 Pagespeed 的 header:20140624112622

转载请注明:Jerry Locke's Blog » [教程]NGINX 配置 Pagespeed 压缩网站静态资源

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics