四五中文网 www.45zw.cc,最快更新左岸读书最新章节!
作者:aw
老罗被折腾得够惨,王小峰老师的wordpress博客又开始打起了摆子。同学们都觉得心里拔凉拔凉的,有些人问我,是不是wordpress无法用于高访问量的博客建设。我认为不然。今天分享下我的经验和看法,欢迎讨论。
wordpress是一款非常流行的免费开源blog平台,但是由于其扩展性和兼容性的“负担”性能问题一直颇受争议。我07年从lbs转换到wordpress的时候,周围许多优秀的php程序员都嘲笑过它的php代码。然而,经过数年的使用,尤其是对整个wordpress生态链的了解,我越来越肯定:wordpress其实可以做的很好,只是你还没有找到合适的方法而已。
我认为,高流量wordpress博客可以从以下几点入手进行优化:
使用lamp架构而不是wamp(windows-apache-mysql-php)我对服务端的原理知之甚少,但就我使用lamp和wamp的经验来看,前者在性能、稳定性上都占有几大优势。相比wamp,linux服务成本极低,而且相比windows,linux的理念本身也更为专注于服务器管理和操作。例如,使用wget升级wordpress,下载插件,都十分方便;使用mysqldump和crontab备份数据也安全、简便、可靠。安装wp-super-cache等静态缓存插件我的博客一直使用wp-super-cache,效果很好。它能够极大程度地节约php的执行成本和数据库查询的压力。下载地址。(最好是在lamp下,我没有测试过wamp的情况)不过,安装了这款插件之后,php端对客户端的api就全部失效了。例如你无法在php端获得客户端的浏览器类型、版本、referer值等。如果有相关功能,这时候需要一些javascript技巧来改善。例如用jquery的制定一些插件如果你的访问量足够高,那么绝对有必要亲自动手或者请懂wordpress系统的人来制定一些插件。很多插件为了考虑兼容性(包括服务器端、客户端),采用了很保守的设计。而针对你自身的系统,这些保守的设计很可能就成为了累赘。例如我自己有一套jquery的库,就不必再用插件自带的jquery或者其他javascript库了;插件还有一个问题也是免费开源软件的通病:规范程度不够好,质量参差不齐,一些插件在存档页面去连评论的数据,就很浪费资源了。feed和图片独立feed和图片完全没有必要自己负担:a、feed可以使用feedburner(最近google的动作应该会让河蟹的风险降到最低),也可以使用feedsky;b、图片可以使用google的picasa,如果实在觉得麻烦,在上传图片之前,切记裁剪、缩放一下图片,一般来说都可以压缩到100k以内(可以压缩掉90%的体积)可以考虑用nginx代替apache我并不了解nginx和apache的内部原理,但我的直觉告诉我,nginx的效率要高于apache-理由是,当我从apache迁移到nginx之后,一直没有开super-cache,速度居然也很不错。现在,alexa排名前100的网站中有2个使用了nginx(nginx官方统计)值得一提的是,换了nginx之后,super-cache的rewrite规则不如htacces那么好配置,搜索“nginx+super+cache”会看到很多说明,不再赘述。本文来自:awflasher/blog/archives/1709