打印

PageSpeed和LNMP无缝结合教程加上Cron实现5分钟一次清除缓存

PageSpeed和LNMP无缝结合教程加上Cron实现5分钟一次清除缓存

这篇文章赶着时间写的,图片由于我的VPS已经安装过了所以不再截图,如果你有一台只安装了系统的VPS,并且搭建出了问题,可以联系我。如果本教程写的有任何问题,欢迎指教!如有求助直接回帖就行,我看到就回复!
# cd /root 进入root目录 如果你已经在此目录忽略
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-1.10.33.3-beta.zip
unzip -q release-1.10.33.3-beta
wget https://dl.google.com/dl/page-speed/psol/1.10.33.3.tar.gz
tar xzf 1.10.33.3.tar.gz -C ngx_pagespeed-release-1.10.33.3-beta
编译部分:
cd /root/lnmp1.2-full/include
vi ./upgrade_nginx.sh
50行左右:
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module ${NginxMAOpt} ${Nginx_Modules_Arguments}
修改为:
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --with-http_gzip_static_module --with-ipv6  --add-module=/root/ngx_pagespeed-release-1.10.33.3-beta --with-http_sub_module ${NginxMAOpt} ${Nginx_Modules_Arguments}

然后执行升级脚本:
cd #回到根目录
cd /root/lnmp1.2-full/
bash ./upgrade.sh nginx
按提示输入版本号后回车(访问 http://nginx.org/en/download.html 可查找nginx的最新版本号和以往旧版本号。如:1.6.0 ),再次回车确认即可开始升级Nginx。Nginx升级为平滑升级,升级过程不影响nginx的运行。可以直接输入当前Nginx的版本,达到重新编译的效果。
编译完成后,修改/bin/lnmp:
vi /bin/lnmp
大概239行有个root  ${vhostdir};
下边添加我测试通过的内容:
# 启用ngx_pagespeed
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# 禁用CoreFilters
pagespeed RewriteLevel PassThrough;
# 启用压缩空白过滤器
pagespeed EnableFilters collapse_whitespace;
# 启用JavaScript库卸载
pagespeed EnableFilters canonicalize_javascript_libraries;
# 把多个CSS文件合并成一个CSS文件
pagespeed EnableFilters combine_css;
# 把多个JavaScript文件合并成一个JavaScript文件
pagespeed EnableFilters combine_javascript;
# 删除带默认属性的标签
pagespeed EnableFilters elide_attributes;
# 改善资源的可缓存性
pagespeed EnableFilters extend_cache;
# 更换被导入文件的@import,精简CSS文件
pagespeed EnableFilters flatten_css_imports;
pagespeed CssFlattenMaxBytes 5120;
# 延时加载客户端看不见的图片
pagespeed EnableFilters lazyload_images;
# 启用JavaScript缩小机制
pagespeed EnableFilters rewrite_javascript;
# 启用图片优化机制
pagespeed EnableFilters rewrite_images;
# 预解析DNS查询
pagespeed EnableFilters insert_dns_prefetch;
# 重写CSS,首先加载渲染页面的CSS规则
pagespeed EnableFilters prioritize_critical_css;
手懒的话下载附件替换就行了,附件的优化参数更多,免动手!



最后建立缓存文件夹并赋予nginx用户权限
sudo mkdir /var/ngx_pagespeed_cache
sudo chown www:www /var/ngx_pagespeed_cache

建议:添加Cron计划任务 每5分钟清除一次缓存 非常建议添加 修改Google PageSpeed的不完美之处
vi /root/pagespeedcache.sh
rm -r -f /var/ngx_pagespeed_cache
然后保存
添加Cron计划任务
crontab -e
*/5 * * * * /root/pagespeedcache.sh
使用比较简单,直接在文件末尾按crontab命令格式输入即可,Ctrl+x退出,再输y 回车保存。
更详细的安装或者设置详细参考:https://www.vpser.net/manage/crontab.html
附件: 您所在的用户组无法下载或查看附件

TOP

很棒的step by step教程
请问安装了PageSpeed有什么好处呢?提升有多少呢?

TOP

标题

好处很多啊 比如节省流量 加快加快打开速度等等 具体效果要看vps效果 洛杉矶vps 部署后 秒开 提升了4倍

TOP

谢谢分享,先支持一下,过一段时间可能用得上

TOP

回复 1# 的帖子

你好,按照你的教程执行到这一步:vi ./upgrade_nginx.sh 发现2个./configure  如下,我是添加到if这个语句还是else
if echo ${Nginx_Version} | grep -Eqi '^[0-1].[5-8].[0-9]' || echo ${Nginx_Version} | grep -Eqi '^1.9.[1-4]$'; then
        ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --wit
h-http_gzip_static_module --with-ipv6 --with-http_sub_module ${NginxMAOpt} ${Nginx_Modules_Options}
    else
        ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-
http_gzip_static_module --with-ipv6 --with-http_sub_module ${NginxMAOpt} ${Nginx_Modules_Options}
    fi
    make

TOP

回复 5# 的帖子

不清楚你版本是多少
建议都改了就是

TOP

回复 6# 的帖子

版本是lnmp1.3

TOP

回复 6# 的帖子

vi /root/pagespeedcache.sh  执行到这一步,没有看到/pagespeedcache.sh文件?军哥我的是lnmp1.3

TOP

如何测试是否安装成功?参考一些教程:curl -I -p http://localhost| grep X-Page-Speed 输出的的是
curl -I -p http://localhost| grep X-Page-Speed
  
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0   178    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

没有显示版本信息,

TOP

回复 7# 的帖子

他说的 /root/pagespeedcache.sh 你在 / 下面找pagespeedcache.sh肯定找不到

#9 -p参数这里没用处,第三方模块我们不大了解

TOP

老哥你有联系方式吗? 我也需要安装pagespeed来测试下看看前段速度是否会快一些, 我按照你的方法在1.4上面装好了, 但是引用代码的时候出问题了. 无法启动nginx. 可否酬劳帮忙处理下?谢谢.

TOP

这个ngx_pagespeed在启用了以后,会产生很多的失效JS链接和JS语法错误,总之国内的使用体验很一般,对CPU的占用也有一定的影响,感觉有点儿水土不服,我试用了几天后就去掉了!

TOP

回复 11# 的帖子

见个性签名

TOP

回复 12# 的帖子

可以搞? 可是我是外贸网站的. 服务器也是在国外, 内存方面应该问题不大 100G SSD 加8G内存.用的是军哥的1.4. 现在找不到人装 pagespeed. 主要是默认安装包没有一键安装的. 后期自动安装装成功无法引用.

TOP

回复 14# 的帖子

Nginx 不是有ngx_pagespeed扩展嘛!网上很多教程的!你重新编译一下 Nginx 就可以了!

TOP