Nginx安装配置PageSpeed模块实现网站加速

作为Nginx组件,ngx_pagespeed将重写你的网页,让用户以更快的速度进行访问。重写的工作包括压缩图片、缩减CSS和JavaScript、扩展缓存时间,同样还包括其它一些最佳实践:

优化缓存——整合应用程序的数据和逻辑

最小化round-trip次数——削减连续的请求/响应周期数

最小化请求开销——削减上传大小

最小化负载大小——削减响应、下载及缓存页面大小

优化浏览器渲染——改善浏览器页面布局

移动方面的优化——优化站点移动网络和设备方面的相关特性

下载解压PageSpeed模块

cd /root/lnmp/src

wget https://github.com/pagespeed/ngx_pagespeed/archive/release-1.6.29.5-beta.zip

unzip -q release-1.6.29.5-beta

wget https://dl.google.com/dl/page-speed/psol/1.6.29.5.tar.gz

tar xzf 1.6.29.5.tar.gz -C ngx_pagespeed-release-1.6.29.5-beta

查看线上版本编译参数

# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.4.1

built by gcc 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)

TLS SNI support enabled

configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

增加ngx_pagespeed模块重新编译

# wget http://nginx.org/download/nginx-1.4.2.tar.gz

# tar -xvzf nginx-1.4.2.tar.gz

# cd nginx-1.4.2/

# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --add-module=../ngx_pagespeed-release-1.6.29.5-beta/

# make //注意只make 不要make install (如果报错请看下面)

安装ngx_pagespeed (make) 32位操作系统可能会报如下错误

../ngx_pagespeed-release-1.6.29.5-beta/psol/lib/Release/linux/ia32/pagespeed_automatic.a(104.system.o.o): In function `cv::tempfile(char const*)':

system.cpp:(.text._ZN2cv8tempfileEPKc+0x1e): warning: the use of `tmpnam' is dangerous, better use `mkstemp'

objs/addon/src/ngx_base_fetch.o: In function `net_instaweb::NgxBaseFetch::DecrefAndDeleteIfUnreferenced()':

/root/lnmp/src/nginx-1.4.2/../ngx_pagespeed-release-1.6.29.5-beta/src/ngx_base_fetch.cc:185: undefined reference to `__sync_add_and_fetch_4'

collect2: ld returned 1 exit status

make[1]: *** [objs/nginx] Error 1

make[1]: Leaving directory `/root/lnmp/src/nginx-1.4.2'

make: *** [build] Error 2

解决方法:

./configure 后面加上–with-cc-opt=’-DLINUX=2 -D_REENTRANT -D_LARGEFILE64_SOURCE -march=i686 -pthread’ ,如下:

# make clean

# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --add-module=../ngx_pagespeed-release-1.6.29.5-beta

--with-cc-opt='-DLINUX=2 -D_REENTRANT -D_LARGEFILE64_SOURCE -march=i686 -pthread'

# make

# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx$(date +%m%d) #备份nginx原文件

# cp objs/nginx /usr/local/nginx/sbin/nginx #复制编译make后的文件覆盖nginx原文件

# /usr/local/nginx/sbin/nginx -t #检测nginx配置文件语法是否正确

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` #把nginx.pid改成nginx.pid.oldbin跟着启动新的nginx

# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` #退出旧的nignx

使用ngx_pagespeed

# mkdir /var/ngx_pagespeed_cache

# chown www.www /var/ngx_pagespeed_cache

# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf$(date +%m%d) #备份nginx配置文件

# vi /usr/local/nginx/conf/nginx.conf

server {

#省略

pagespeed on;

pagespeed FileCachePath /var/ngx_pagespeed_cache;

pagespeed RewriteLevel CoreFilters;

pagespeed EnableFilters local_storage_cache;

pagespeed EnableFilters collapse_whitespace,remove_comments;

pagespeed EnableFilters outline_css;

pagespeed EnableFilters flatten_css_imports;

pagespeed EnableFilters move_css_above_scripts;

pagespeed EnableFilters move_css_to_head;

pagespeed EnableFilters outline_javascript;

pagespeed EnableFilters combine_javascript;

pagespeed EnableFilters combine_css;

pagespeed EnableFilters rewrite_javascript;

pagespeed EnableFilters rewrite_css,sprite_images;

pagespeed EnableFilters rewrite_style_attributes;

pagespeed EnableFilters recompress_images;

pagespeed EnableFilters resize_images;

pagespeed EnableFilters convert_meta_tags;

location ~ ".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" { add_header "" ""; }

location ~ "^/ngx_pagespeed_static/" { }

location ~ "^/ngx_pagespeed_beacon$" { }

location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }

location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }

#省略

}

# /usr/local/nginx/sbin/nginx -t

Setting option from ("on")

Setting option from ("FileCachePath", "/var/ngx_pagespeed_cache")

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

# service nginx restart

Stopping nginx: [ OK ]

Starting nginx: Setting option from ("on")

Setting option from ("FileCachePath", "/var/ngx_pagespeed_cache") [ OK ]

# curl -I 'http://www.linuxeye.com/' | grep X-Page-Speed

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0

X-Page-Speed: 1.4.0.0-2748

注意:

如果discuz使用了伪静态要注销掉下面部分(前面加#注销):

#if (!-e $request_filename) {

# return 404;

#}

使用后效果如下:

使用PageSpeed模块效果演示网站:http://www.server110.com

(0)

相关推荐

  • Ubuntu下安装Nginx和Google Pagespeed的教程

    Nginx (engine-x)是一个开源的高性能 HTTP 服务器.反向代理和 IMAP/POP3 代理服务器.nginx 杰出的功能有:稳定.丰富的功能集.简单的配置和低资源消耗.nginx 被用 ...

  • nginx安装文件上传ngx_upload模块教程

    ngx_upload模块是nginx中一个文件上传模式了,下面我们来看看nginx安装文件上传ngx_upload模块步骤,希望例子对各位有帮助. 安装nginx,并加入nginx upload mo ...

  • 基于corosync+pacemaker的nginx高可用集群安装配置

    一、corosync、pacemaker介绍 corosync是用于高可用环境中的提供通讯服务的,它位于高可用集群架构中的底层(Message Layer),扮演着为各节点(node)之间提供心跳信息 ...

  • windows下如何安装配置nginx

    Nginx是一款轻量级的Web 服务器.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.那么,在windows下如何安装配置nginx呢,以下一步一步手动 ...

  • CentOS-6.3系统中安装配置Web服务器Nginx

    Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。nginx的并发能力确实在同类型的网页伺服器中表现较好.Nginx在一些Linux发行版和B ...

  • ASP网站实例教程:[1]IIS安装配置(win7 asp)

    网站制作,首先进行开发环境的配置,本实例教程采用 WIN7+ASP+Access+IIS: 环境配置包括2部分:IIS安装配置.Access安装 操作方法 01 从开始菜单,打开"控制面板& ...

  • php5.3.10的安装配置步骤详解

    在linux中php安装配置与windows中有不小的区别了,在linux中几乎都是代码形式了,下面我们一起来看看php5.3.10的安装配置步骤详解,希望下文可帮助到各位。 下面以最新的php-5. ...

  • centos 系统下安装配置FastDFS步骤分享

    centos 系统下安装配置FastDFS步骤: 1:安装libevent(libevent-2.0.16-stable) ##卸载系统自带libevent rpm -qa|grep libevent ...

  • Ubuntu中Nginx服务器安装配置教程

    Nginx是一个非常轻量级的HTTP服务器,也是一个高性能的HTTP和反向代理服务器,同时还是一个IMAP/POP3/SMTP 代理服务器。 1.对PHP支持 目前各种web 服务器对PHP的支持一共 ...