谈WordPress缓存插件W3 Total Cache

前面发表过:利用缓存插件WP Super Cache+CDN Sync Tool与又拍云构建WordPress全站CDN,现在谈谈WordPress另一极其强大缓存插件W3 Total Cache。经过一个星期的摸索与不断重复修改设置,终于搞清楚W3 Total Cache的复杂设置,讲几点注意点和心得:

一。WordPress缓存插件WP Super Cache固然很快,配置好后尤其在小站点页面不多的情况下用效果比较好,但是在动态交互以及页面较多的情况下可能会拖垮服务器,所以优缺点都很明显;而W3 Total Cache可以选择在Page Cache与Minify cache 的method上用Disk模式,Database Cache与Object Cache的method上用Memcached模式,这样就兼顾很多东西。

二。WordPress缓存插件W3 Total Cache还有CDN设置,可以利用又拍云做CDN,唯一缺点就是不能像Hacklog-remote-attachment-upyun(WordPress 远程附件上传插件for Upyun(又拍云))这样的插件一样功能针对性强点。Hacklog-remote-attachment-upyun(WordPress 远程附件上传插件for Upyun(又拍云))可以直接把wordpress的uploads媒体库全部由又拍云托管,本地不存放,而且还可以配置api,设置Token防盗链功能状态等强大的防盗功能,而用W3 Total Cache的CDN就做不到防盗,尤其用不了Token防盗链功能,需要自己去二次开发。

三。WordPress缓存插件W3 Total Cache里的Mnify选择设置必须非常注意,个人摸索出来的设置步骤是1.首先在有开启CDN选项的前提下先关闭Rewrite URL structure,不然很容易出错;2.然后HTML minify settings可以全开启,HTML minify settings注意主题与插件的js合并会不会出错,如果会出错就注意下嵌入的位置分开,继续调试下就知道了,另外注册嵌入位置的不同对网站加载速度的影响,可以用在线测速工具对其进行调试。3.CSS minify settings选项设置最麻烦,尤其注意模板的选择,主题css可以选择针对所有Templates,其他的看情况设置,有时候甚至不需要压缩。不然很容易出错。4.最后在设置无误,加载速度较快,css不出错,js可以加载的前提下开启Rewrite URL structure,然后生成重写结构后的URL,然后再用CDN加载minified CSS and JS files,有时候甚至需要手动上传到CDN,这点需要反复调试,确保重写结构不出错和CDN有生成的重写结构后的URL files。

四。以上几点设置好后其他的慢慢再调整下,看看加载速度和评分,尽量保证较少的HTTP requests,Add Expires headers,Use cookie-free domains等方面调整到最优状况。这样对站点的加载就差不多了。先谈这么点,回头研究研究后再慢慢补充。

 

这些年,值得珍藏的好站点![转]

1.灵感仓库:集万千灵感于一站▪ dribbble.com:追波:全球设计师们的作品平台▪ appsites.com:聚合APPWEB端介绍页面▪ mobile-patterns.com:移动端设计模式:各种案例,比如别人是怎么做登录界面的▪ zcool.com.cn:站酷:国内设计师作品,活动,资源平台▪ 500px.com:全球最专业摄影师作品聚集地,作品交易,绝对的大片,无聊去上面打酱油也是一种享受

2.素材:何必重复造轮子?▪ iconmonstr.com:黑白简约图标PNG下载,各种尺寸▪ tutu001.com:图图网:付费下载素材,账号:屌丝大叔▪ nipic.com:昵图网:付费下载素材,更多更全,账号:【大白菜】▪ lanrentuku.com:懒人图库:PSD,PNG,JS,CSS网页模板,应有尽有▪ adesk.com:光点壁纸:最好的壁纸站点,木有之一,横跨各平台

继续阅读这些年,值得珍藏的好站点![转]

PHP5.4.17更新!

第一时间也更新了下!不过每次更新php都需要重新安装memcached!

PHP 5.4.17 released!

04-Jul-2013

The PHP development team announces the immediate availability of PHP     5.4.17. About 20 bugs were fixed. All users of PHP are encouraged to upgrade to this release.

For source downloads of PHP 5.4.17 please visit our downloads page,     Windows binaries can be found on windows.php.net/download/.     The list of changes is recorded in the ChangeLog.

解决军哥lnmp1.0默认安装后php从5.3.x升级到5.4.x后memcache.sh安装问题

lnmp1.0默认安装后php版本为5.3.17。升级php5.3.X和5.4.X后两种情况,再执行memcache.sh安装第一种没问题如下第一步骤,第二种会出现问题,则如下第二步骤解决:

一:如果想从php5.3.17升级为新版本5.3.x后,得重新安装memcache。

1.执行./upgrade_php.sh,输入5.3.x最新版,然后升级完毕。

2.然后执行memcache.sh安装完毕。ok,执行/root/lnmp restart,打开memcached.php测试OK:

Memcached Server version: 1.4.15
Get key1 value: This is first value
Get
key1 value: This is replace value
Get key2 value: Array ( [0] => aaa [1]
=> bbb [2] => ccc [3] => ddd )
Get key1 value:
Get key2 value:

二:如果想从php5.3.17升级为新版本5.4.x后,也得重新安装memcache。

1.执行./upgrade_php.sh,输入5.4.x最新版,然后升级完毕。

2.修改lnmp1.0-full包里的memcache.sh,找到:

printf “=========================== install memcached ======================n”

echo “Install memcache php extension…” wget -c http://soft.vpser.net/web/memcache/memcache-3.0.6.tgz tar zxvf memcache-3.0.6.tgz cd memcache-3.0.6/ /usr/local/php/bin/phpize ./configure –with-php-config=/usr/local/php/bin/php-config make && make install cd ../

修改为:

printf “=========================== install memcached ======================n”

echo “Install memcache php extension…” wget -c http://pecl.php.net/get/memcache-3.0.8.tgz tar zxvf memcache-3.0.8.tgz cd memcache-3.0.8/ /usr/local/php/bin/phpize ./configure –with-php-config=/usr/local/php/bin/php-config make && make install cd ../

然后上传保存,权限改为0755

3.最后执行memcache.sh安装完毕。ok,执行/root/lnmp restart,打开memcached.php测试OK:

Memcached Server version: 1.4.15 Get key1 value: This is first value Get key1 value: This is replace value Get key2 value: Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd ) Get key1 value: Get key2 value:

总结:编译PHP5.4.x使用的PHP核心版本是20100525,而军哥lnmp1.0中Memcache-3.0.6是使用20090626版本编译的,版本不一致导致PHP无法启用memcache.so库,故改为Memcache-3.0.8,最后生产环境目前还是不要升级到php5.5.X版本!

 

PHP5.4.x和Memcache的版本不兼容问题

下载目前最新的PHP5.4.8编译后(fpm),使用sudo apt-get install memcached安装memcache服务,再使用Pecl:http://www.ln.la/473/pecl-pear-php-extensions.html安装memcache(sudo pecl install memcache)PHP扩展,编译后memcache.so在/usr/lib/php5/20090626/中,在PHP.ini添加好extension,重启phpfpm(不是重启nginx),出现下面的错误信息:

1 Gracefully shutting down php-fpm . done

2 Starting php-fpm [25-Oct-2012 12:04:02] NOTICE:

3 PHP message: PHP Warning: PHP Startup: memcache: Unable to initialize module

4 Module compiled with module API=20090626

5 PHP compiled with module API=20100525

6 These options need to match

继续阅读PHP5.4.x和Memcache的版本不兼容问题

使用Pecl或Pear安装PHP扩展

PHP官方积累了大量由全世界的PHPer精心写的开源扩展,其中PECL(The PHP Extension Community Library)是一个C语言源码格式的扩展仓库,PEAR(the PHP Extension and Application Repository)是一个PHP扩展及应用的代码仓库,二者不同的是PECL提供源代码,而PEAR相当于一个PHP的类库。

日常开发大部分功能都可以在这里找到成熟的扩展包,不需要去一一实现。例如memcache,在ubuntu下可以使用sudo pecl install memcache安装,完成后系统会自动编译成动态库文件,只需要配置好php.ini中的extension即可,然后sudo apt-get install memcached安装客户端后可以使用memcache了。

PEAR的使用更为简单,首先如果系统没有安装pear可以直接apt-get方式安装好,然后直接使用pear命令获取扩展包,以安装SMTP扩展包为例:

继续阅读使用Pecl或Pear安装PHP扩展

使用dotdeb更新源(基于Debain的LAMP更新源)

手动编译太麻烦?自带更新源软件太旧?试试dotdeb,基本上是最新的LAMP套件以及nginx。使用方法如下:

1.在/etc/apt/source.list添加更新源(也可以选择就近的镜像):

1
2
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all

2.(此步可略过)如果想为Debian6.0更新到php5.4,则添加如下两行:

1
2
deb http://packages.dotdeb.org squeeze-php54 all
deb-src http://packages.dotdeb.org squeeze-php54 all

3.获取GnuPG key

1
2
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | sudo apt-key add -

4.运行apt-get update

5.设置完成,可以用apt-get来安装dotdeb的软件包了

说明: 旧版本放在 http://archives.dotdeb.org/ 所有软件包均托管在Github

利用缓存插件WP Super Cache+CDN Sync Tool与又拍云构建WordPress全站CDN

利用缓存插件WP Super Cache+CDN Sync Tool与又拍云构建WordPress全站CDN

一. 安装WP Super Cache插件并启用,在其设置界面中,勾选开启CDN,URL填写你在又拍云中的空间所对应的域名及目录即可。

 

二.切换到「Advanced」,对照下图设置即可。

 

继续阅读利用缓存插件WP Super Cache+CDN Sync Tool与又拍云构建WordPress全站CDN

Debian 启动之后(基本)设置

1.Debian 启动之后(基本)设置

启动之后,您将被提示去完成基本系统的设置,然后选择您希望安装的额外软件包。指导您完成此过程的应用程序称为 base-config。它的概念类似于 debian-installer 的第一阶段。事实上,base-config 由一些特殊的元件组成,每个元件完成一项设置任务,包括 “在后台隐藏菜单” 并使用同样的导航系统。

如果您希望在完成安装之后重新运行 base-config,请以 root 身份执行 base-config

2.配置您的时区

欢迎画面之后,您将看到提示要求设置您的时区。首先选择设置您的系统硬件时钟为本地还是格林威治时间(GMT或UTC)。对话框里面显示的时间可以帮您做出正确的选择。

继续阅读Debian 启动之后(基本)设置

给WordPress部署CDN加速和Cookie-Free Domains

给WordPress部署CDN加速和Cookie-Free Domains,雅虎的网页前端优化23条里其中两条是:使用内容分发网络(Use a Content Delivery Network (CDN))使用无cookie的域(Use Cookie-Free Domains for Components)

第一步(方法一):

这两点对使用WordPress开发的网站来说可能难于实现,其实我们只需要在 wp-congif.php 里增加两个参数就可以搞定。打开 wp-config.php ,增加下面的内容:

1
2
define("WP_CONTENT_URL", "http://content.ln.la/wp-content");
define("COOKIE_DOMAIN", www.ln.la);

我的目的是把 wp-content 目录里的内容都通过 content.ln.la这个域名来加载,这点并不需要使用真正的 CDN 服务来实现,只需要把content.ln.la 也指向主域名的根目录就可以。

另外我通过 COOKIE_DOMAIN 常量来限制 cookie 的作用域,因此当浏览器加载 content.ln.la 里的内容时,request header里不会带有主域的 cookie,节约了传输带宽,达到提高加载速度的目的。

继续阅读给WordPress部署CDN加速和Cookie-Free Domains