`

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 压缩网站静态资源

分享到:
评论

相关推荐

    Ubuntu下安装Nginx和Google Pagespeed的教程.docx

    6. **配置Nginx**:编辑Nginx配置文件,添加PageSpeed模块路径,例如`--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.9.32.3-beta/`。 7. **编译和安装**:根据配置文件编译Nginx,然后进行安装。 **五...

    incubator-pagespeed-ngx-master.zip

    ngx_pagespeed是一个由Google开发并维护的Nginx模块,其目标是提升网站的加载速度和性能,通过在服务器端自动应用一系列最佳实践来优化静态资源,如HTML、CSS、JavaScript和图片。这个项目最初是在Apache孵化器...

    nginx安装包和插件包

    3. **其他插件**:还有许多第三方插件可以增加Nginx的功能,比如`ngx_pagespeed`对网页进行优化,`modsecurity`提供Web应用防火墙功能,`lua-nginx-module`允许使用Lua脚本扩展Nginx。 在实际部署中,根据业务需求...

    nginx windows版本

    - Nginx的配置文件是`nginx.conf`,通常位于解压缩目录的根目录下。你可以根据需求修改这个文件来配置Nginx的行为,比如设置服务器名、监听端口、虚拟主机等。 5. **管理Nginx** - 虽然可以直接双击`nginx.exe`...

    nginx 0.8.52

    - **第三方模块**:除了官方模块,社区还提供了大量第三方模块,如 ngx_lua、ngx_http_realip_module、ngx_pagespeed 等,丰富了Nginx的功能。 5. **配置与管理** - **简洁配置**:Nginx 的配置文件结构清晰,...

    nginx-1.8.0

    Nginx支持丰富的第三方模块,如mod_security(Web应用防火墙)、 ngx_pagespeed(页面优化)、ngx_lua(嵌入Lua脚本)等,可以扩展其功能。 7. **错误日志与访问日志** Nginx记录详细的错误和访问日志,帮助管理...

    nginx-1.10.0.0.zip

    此外,Nginx支持模块化设计,可以通过添加或移除模块来扩展其功能,如mod_security模块提供安全防护,mod_pagespeed模块则用于网站性能优化。 在压缩包内的子文件夹可能包含以下部分: 1. `sbin`:包含了Nginx的可...

    nginx-1.11.4.tar.gz

    - **第三方模块**:如mod_security(安全防护)、ngx_pagespeed(性能优化)、ngx_lua(Lua脚本支持)等,丰富了Nginx的功能。 6. **管理和维护** - **控制命令**:`nginx -s reload`用于重载配置,`nginx -t`...

    nginx-1.17.4.zip

    14. **模块扩展**:Nginx 有丰富的第三方模块,如 ngx_pagespeed(网页优化)、ngx_lua(动态脚本支持)等,可进一步增强功能。 15. **热更新**:Nginx 支持在线重新加载配置文件,无需中断服务即可更新配置。 在...

    《Nginx实际运用》.pptx

    10Nginx的模块扩展Nginx的模块扩展•Nginx丰富的第三方模块,如mod_security(安全防护)、ngx_pagespeed(页面优化)、lua模块(增强脚本功能)等,可以进一步扩展其功能。11实际应用案例实际应用案例•网站托管•...

    nginx-1.8.0.tar.gz

    7. **模块化设计**:Nginx拥有丰富的第三方模块,如ngx_http_perl_module(Perl脚本支持)、ngx_pagespeed(Google的页面优化模块)等,可以根据需求扩展功能。 在安装Nginx-1.8.0时,你需要按照以下步骤操作: 1....

    nginx全套插件包.rar

    13. **ngx_pagespeed**:谷歌提供的一个模块,自动优化网页内容,包括压缩图片、合并CSS/JS文件、开启GZIP压缩等。 在CentOS 7环境下,安装这些插件通常涉及解压压缩包、编译源码、配置Nginx以包含这些模块,然后...

    nginx-1.15.3.tar.gz

    Nginx有许多第三方模块,如modsecurity(Web应用防火墙)、ngx_pagespeed(页面速度优化)等,可以进一步增强功能。 以上就是关于"nginx-1.15.3.tar.gz"的安装和使用的基本流程,以及相关的一些知识点。理解并掌握...

    nginx-1.3.2

    3. **模块扩展**:Nginx通过模块化设计,可以扩展各种功能,如mod_security、mod_pagespeed等。 **四、Nginx 1.3.2版本特性** Nginx 1.3.2作为较早的版本,可能包含了以下特性: - 支持HTTP/1.1和WebSocket协议。 ...

    nginx-1.9.2.tar.gz

    此外,Nginx支持模块化设计,用户可以根据需求添加或禁用模块,如mod_security(安全增强)、mod_pagespeed(性能优化)等。 总的来说,"nginx-1.9.2.tar.gz"是一个包含完整源代码的Nginx稳定版本,提供了高效、...

    nginx-1.9.2

    Nginx在互联网行业中广泛用于处理静态内容、负载均衡和缓存服务,是许多大型网站的首选Web服务器。 **1. Nginx架构** Nginx采用事件驱动的异步非阻塞模型,这使得它能够高效地处理大量并发连接。其主进程主要负责...

    nginx安装包程序文件

    - **ngx_pagespeed**:由Google开发,优化网页加载速度。 - **ngx_http_realip_module**:修正客户端IP地址。 - **ngx_http_limit_conn_module** 和 **ngx_http_limit_req_module**:控制连接和请求限制。 - **...

    nginx-1.1.1.tar.gz

    **Nginx 1.1.1 安装与配置...此外,对于特定需求,可能还需要安装其他模块,如 ngx_http_module 或者 ngx_pagespeed_module 等,以增强Nginx的功能。在遇到问题时,参考官方文档或社区资源通常是解决问题的有效途径。

    第二十九章:Nginx应用优化1

    若需要额外的功能,可以编译安装Nginx时加载第三方模块,例如`modsecurity`用于Web应用防火墙,`ngx_pagespeed`用于页面优化。 以上是针对Nginx应用优化的一些主要技术点,通过这些配置和策略,可以提升Nginx...

    nginx-more:nginx-more软件包的开发存储库

    7. **PageSpeed**:Google PageSpeed模块是Nginx的一个插件,用于自动优化网页的加载速度,如压缩图片、合并CSS和JavaScript、启用缓存等,以提高网站性能。 8. **ModSecurity**:ModSecurity是一款开源的Web应用...

Global site tag (gtag.js) - Google Analytics