网站建设

WordPress集成PHP缩略图,并开启Nginx缓存的方法

之前张戈博客分享过一篇给 WordPress 开启 Nginx 缩略图的教程,用着确实不错!但是总感觉清晰度不敢恭维,就算将裁剪质量调到90依然失真严重,于是想另辟蹊径。 想起之前帮一个站长做CC防御的时候,发现他的网站就算被纯静态化,被攻击时CPU依然狂飙。最后分析请求日志发现,所有的压力来自网站的 PHP 缩略图功能。这个 PHP 缩略图虽然可以将实时生成的图片缓存成文件,但是第二次被请求,PHP 依然需要进行一些很简单的判断,比如这个缩略图是否被缓存、缓存文件是否过期等。在海量IP的请求下,这些简单的PHP动态判断就成为了拖沓大户了! 这也就不难理解 WP-Super-Cache 的 php 缓存模式比 Mod_Rewrite 模式要慢的原因了!所以,静态缓存最终都要完全抛弃掉任何简单计算才能算是淋漓尽致! 好了,扯得有点远了。虽然这位站长同学后来抛弃了这个 PHP 缩略图功能,但是张戈却记忆深刻。当  Nginx 缩略图不给力时,我第一时间就想到了它。 这玩意在访问量过大时是个拖沓大户,但如果我想办法去掉其中的 PHP 动态判断呢?自然就能发挥到淋漓尽致了! 下面简单分享下张戈的做法。 一、加速思路 我顺藤摸瓜(之前那位站长朋友用的就是倡萌的 Wdone 主题),自然就在倡萌那找到了这个 PHP 缩略图的使用方法: 可以看到,这种传参肯定是存在动态判断的,所以要完全静态化,我首先就要修改这个缩略图形式。 很简单,延续之前分享的 Nginx 缩略图思路,把上面的 url 改成在图片地址最后带参数的模式,然后伪静态重写为上面的形式,最后通过 Nginx 实现纯静态缓存。 二、部署方法 ①、PHP代码 下载后解压得到 thumb 文件夹,编辑里面的 timthumb-config.php,按照注释修改下(可选)。 然后将整个文件夹上传到网站根目录,现在按照倡萌给出的 url 形式肯定就可以看到缩略图了。 ②、Nginx规则 第①步能够正常看到缩略图效果后,我们接着部署Nginx规则。 在网站原有的Nginx规则中插入如下规则: 这样还只是重写了缩略图的 URL 形式,如果需要开启缓存,则需要用到 Nginx 的 fastcgi 缓存,还不熟悉的朋友请先参考张戈博客之前的分享: 《Nginx开启fastcgi_cache缓存加速,支持html伪静态页面》 按照之前的文章部署 fastcgi 缓存规则后,这个缩略图就被 Nginx 缓存了(在F12开发者模式中查看network头部信息即可看到 HIT from yourdomain.com),加载速度自然也就上来了! 三、主题修改 做完上述操作之后,还只是具备了这个缩略图功能,而实际应用到博客文章,总不能手工一个一个输入图片带上尺寸吧?而且还有一堆老文章也不可能人工修改一遍吧? 实际解决很简单,请参考如下代码: 修改原理: ①、将老文章中带尺寸的图片改成完整图片路径,我之前用的是300大小的图片缩略图,所以这里需要将高或宽300的全部去掉,变成完整尺寸图片路径; ②、最后将文章中所有图片路径上带上适合本文分享的尺寸规则,比如上述代码是?w=480,即图片缩略图统一改为480px大小。 好了,就分享这么多,有需求的朋友可以参考上面的代码,根据实际情况修改后加入到主题functions.php即可完美实现文章缩略图了。
阅读全文
申请一个自己的Gravatar头像 好文推荐

申请一个自己的Gravatar头像

  Gravatar(个人全球统一标识)是globally recognized avatar(直译为”全球标识的头像”)的缩写。它可以在一切支持Gravatar的场合显示你的专属头像,就是能让你在发布评论的时候可以使用专属头像,它将和你填写的email地址一一对应,wordpress2.5以上版本,已经集成了Gravatar头像功能。具体申请步骤如下:   ◆前往登录地址,填写注册邮箱之后,点击”Signup”按钮;   ◆到注册的邮箱中查收邮件并点击其中的链接确认;   ◆在弹出页面中填写相关内容;   ◆点击页面中部框框下的链接”Add one by clicking here!”;   ◆如果要从自己的本地硬盘上传一张头像,那就点击第一个链接”My computer’s hard drive”上传头像;   ◆进入Crop页面,滑动滑块选择你需要的照片区域后点击页面下部的”CROP”按钮;   ◆给自己的头像评定级别。G 普通级、PG 辅导级、R 和 X 为限制级,一般不黄不暴力的选G就行了;   ◆点击页面中的头像照片,在弹出的小页面里点击”Confirm”钮确认;   ◆到支持Gravatar头像功能的网站,输入申请头像时的邮箱发表评论试试吧 想更改头像的话只需要到Gravatar网站,登陆后修改即可。 提示:如上述操作无误,请稍等片刻,头像可能不会马上显示。另外,可能还需清空浏览器缓存文件 更详细的申请步骤请看:Gravatar全球通用头像全攻略 
阅读全文