@xirang.us -> 访问嘻来嚷往中国版

热度:311°C

噪音:21分贝

利用cPanel Cron jobs定时备份和优化网站程序以及数据

分类:信息时代 | 编程开发  标签: | | | | |

当广大Wordpresser欢欣鼓舞地升级到2.9,享受着在线图片编辑器、回收站等一系列新功能的时候,却发现Wordpress的生理周期突然失调了——以前她能够自动地定时为我们发布文章、清除缓存、备份数据库等等等等,而现在这一切都需要我们手工完成。经过在Wordpress官方论坛一番搜寻,发现原来这是Wordpress 2.9的大BUG——定时模块失效……

又,最近在国内互联网“扫黄打非”的狂风暴雨下,个人网站的站长们被弄得一个个诚惶诚恐,一觉醒来说不定域名就“被”停止解析,服务器就“被”关停!所以,及时备份网站的程序和数据对于当下的中国站长们极为重要,然而Wordpress 2.9偏偏又在这当口来一个定时模块失效,这的确是雪上加霜!

CPanel

不过,如今最优秀的主机面板cPanel已经越来越普及了,如果您有幸用上了采用cPanel面板的主机,那么其中的Cron jobs模块就是雪中送炭了。您不但可以使用Cron jobs结合Linux bash shell脚本更加细致地控制各种自动定时作业——备份数据库优化数据库备份网站程序,还可以永久性地省掉几个Wordpress插件,提高Wordpress的运行速度。

定时自动备份MySQL数据库

Cron jobs如右图所示,首先请在您的cPanel面板中的Advanced部分找到Cron jobs。点击进入,您就会看到Cron jobs的操作页面,不过先别着急,我们要首先编写备份网站数据库的Linux bash shell脚本。

我们需要首先用mysqldump命令导出整个数据库至一个文本文件,然后用压缩工具将数据文件压缩打包,最后用mutt命令将数据库压缩包发送至您指定的电子邮件地址。

现在我们开始,请用远程登录软件(如SecureCRT、Putty)或者FTP软件(如FileZilla、FireFTP)连接到您的主机,并创建一个存储备份脚本和临时文件的文件夹,比如我在我的主机根目录建立了一个backup目录。根据cPanel主机的文件夹格式,该目录的绝对路径应为/home/cPanel登录名/backup。

下面以/home/xirangus/backup目录为例。请打开任意一个文本编辑软件,录入如下内容。[XXX]处请更换为您的真实数据(去掉[和])。 挺有意思,往下瞧瞧 »

热度:196°C

噪音:2分贝

WP Super Cache之诡异GZip压缩包下载BUG

分类:信息时代 | 编程开发  标签: | | |

请各个基于Wordpress架设并且开启了WP Super Cache插件进行提速的网站的站长们注意,在嘻来嚷往热心读者的帮助下,我们发现了WP Super Cache 0.9.8版本所引入的一个十分诡异和难以察觉的BUG!

bug-fest

前提条件

  1. WP Super Cache Status: 开启
  2. Super Cache Compression: 开启
  3. Expiry Time & Garbage Collection: 较长,比如嘻来嚷往设定为86400秒(一天)

如果您Wordpress网站的WP Super Cache设置符合上述三个条件,请向贵站的读者咨询他们在访问网站时是否出现过以下(比较罕见,就算您自己刷新网站100次可能也不会出现,所以做好求助于网站的大量访问者)

现象

浏览器无法打开网站,而是提示访问者下载GZip压缩包,该压缩包解压后,为网站首页的html文档。并且任何内核的浏览器都可能出现此情况。 挺有意思,往下瞧瞧 »

热度:391°C

噪音:20分贝

Move to Just Host——嘻来嚷往搬家记

分类:业界观察 | 互联网络  标签: | | |

搬家本来就是件麻烦事,如果再遇上一波三折,那就更痛苦了……

2009年6月22日是『嘻来嚷往』的诞生日。说实话,一开始做这个网站只是闲来无事想写写自己的生活、学习和工作,顺便邀几个朋友来发发牢骚。所以也就一直用的免费服务器和免费二级域名。一个月后发现Google、Yahoo和Baidu那是相当地歧视二级域名,就算网站被收录了,也是在搜索结果的最后几页。于是决定购买收费顶级域名,这也让我第一次感到了中国物价的暴利,查遍所有国内域名注册商xirang.us的最低价247 RMB/年,转投全球最大的域名注册和主机提供商美国的Go Daddy后,以4.99 USD/年拿下xirang.us域名。

有了新域名,『嘻来嚷往』便踏上了新的征程,再加上Iris同学的鼎力相助,好文不断涌现,访问量、Alexa排名和搜索引擎排名不断上升,『嘻来嚷往』也开放了作者注册,逐渐转向为一个多作者博客。而网站前期一直安家的免费主机ATBHost也是功不可没,一个免费主机竟然能做到50 GB空间、500 GB月流量、PHP内存上限256 MB、默认GZip开启、99%在线率和较快的连接速度,让Tim满怀感恩地准备在网站半岁的时候向ATBHost捐赠10美刀。

然而天有不测风云,2009年10月6日网站突然掉线!第一反应肯定又是功夫网干的好事,于是追踪路由,结果不是卡在那个臭名昭著的“中国互联网骨干节点”而是卡在了“华盛顿哥伦比亚特区Cogent电信公司”。纳闷中,难道美国也有功夫网。后来发现ATBHost的主站和论坛全部掉线,这才意识到可能是ATBHost自己出问题了。果不其然,在耐心等待了八小时后ATBHost主站重新开通,然而内容确是“ATBHost – Closed”。当时的心情按照我们四川话就是“哦豁”!这下得为『嘻来嚷往』找个新家了,搬家开始。

挺有意思,往下瞧瞧 »

热度:395°C

噪音:4分贝

Wibiya:博客类网站增强工具条

分类:互联网络 | 信息时代  标签: |

What’s Wibiya?

Wibiya enables blogs to integrate the most exciting services, applications and widgets of their choice into their blog through customized web-based toolbars.
Our platform offers a one-stop solution for integrating, managing and tracking third-party applications.

以上是 Wibiya 的自我介绍。看到本站下面新出现的工具条了吗?那就是 Wibiya (如果您使用 IE ,恐怕就看不到这个漂亮的小玩意儿了,所以再次提醒各位请使用非IE浏览器)。

Tim 用后的感觉是名副其实,它把在 WordPress 中需要用N多插件来实现的功能集成在了一起,的确是一个 one-stop solution ,让网站的功能和性能在瞬间得到提升。

Wibiya 的功能

Blog Search(博客搜索):一个搜索框,可以在 Google 搜索本站和搜索网络之间切换;

Posts Navigator(文章导航):Wibiya 会读取网站的 RSS 内容,然后将最新的文章放在导航列表中,另外还有个”随机“文章按钮,浏览者点击后会转到一篇随机文章。

Translation(全站翻译):集成了基于 Google Translate 的全文翻译工具。虽然机器翻译的结果常常让人啼笑皆非,但是我相信人类的智慧是能够从啼笑皆非的文字中提取出有意义的信息,这总比满篇的中文对于外国人更加友好吧。

Photo Gallery(画廊):本服务目前只能够读取 Flickr 相册。不过展示是采用 Cooliris 3D WALL 效果,相当的 COOL!(注意:Wibiya 后台设置时,只需要填入您 flickr 相册网址 flickr.com/… /sets/ 后面的那一串数字。)

Live Notifications(消息提示):您可以在 Wibiya 后台设置多条消息,可选永久提示或者是24小时循环。当用户第一次访问您的网站,消息提示便会自动弹出。这个功能不错,给新访问者一个温暖的问候 :) 挺有意思,往下瞧瞧 »

热度:787°C

噪音:21分贝

SkyDrive 外链自动获取插件 WP-Skydrive-Outlink 完善版

分类:信息时代 | 编程开发  标签: | | |

话说为了为本站的视频文件找个家,Tim可是费尽心思,国内外的外链文件存储网站几乎全部注册试用了一遍,到最后还是锁定在了垂手可得的微软 25G 不限流量外链空间 SkyDrive 。一来是微软的服务器那是相当的稳定,二来是在我有生之年估计微软也不会倒闭,那就把视频文件存在 SkyDrive 吧。

不过,天下可以有免费的午餐,但是真的没有又免费又丰盛的午餐……为了防止像本站一样,长期、稳定地外链 SkyDrive 文件,微软可是做足了功夫,某个文件的外链地址随时都在改变。唯一不变的就是下载页面,为的就是让你去看广告。搜了半天,在《Skydrive外链(wp-skydrive-outlink)插件》这里找到了高人编写的,通过分析那个不变的文件下载页面代码找出此时此刻该文件的外链地址的 WordPress 插件。

但是 Tim 在使用的时候发现了不尽人意的地方。原插件是通过搜索页面代码的如下内容:

1
<a href="http&#58;&#47;&#47;zmmbva.bay.livefilestore.com&#47y1pIqCe7pRjb5SoIojzYoEoZwIWrS4ydWQbUfVTc9AzsqDWEPyeTDpBTN2zresvpobyBvHUv1ApuBAcoojvXGkYYg&#47;Breath&#37;20Under&#37;20Water&#37;20HQ.mp4&#63;download" title="Download">

中的 title=”Download” 来截取外链地址。但是 SkyDrive 的页面语言会根据浏览器 Cookie 和浏览者 IP 地址而做出自动选择。如果浏览者的 Windows Live 语言设置为非英文,或者是浏览者从没登录过 Windows Live ,那么他所得到的这个下载页面的 title=”Download” 很可能就变成 title=”下载”、title=”télécharger”、title=”ダウンロードする” 等等等等,那么这个插件也就失效了。

所以,Tim又瞧了瞧 SkyDrive 文件下载页面的源码,发现在靠近底部,有一段 javascript 代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var $SelfPage = new function()
{
    var_download = 'http\x3a\x2f\x2fzmmbva.bay.livefilestore.com\x2fy1pIqCe7pRjb5SoIojzYoEoZwIWrS4ydWQbUfVTc9AzsqDWEPyeTDpBTN2zresvpobyBvHUv1ApuBAcoojvXGkYYg\x2fBreath\x2520Under\x2520Water\x2520HQ.mp4\x3fdownload';
    var_demote = 'http\x3a\x2f\x2fzmmbva.bay.livefilestore.com\x2fy1pIqCe7pRjb5SoIojzYoEoZwIWrS4ydWQbUfVTc9AzsqDWEPyeTDpBTN2zresvpobyBvHUv1ApuBAcoojvXGkYYg\x2fBreath\x2520Under\x2520Water\x2520HQ.mp4\x3fdownload';
    var_dirty = false;

    this.MarkDirty = function() { _dirty = true; }
    this.Download = function()
    {
        if (_dirty)
        {
            _dirty = false;
            window.location = _demote;
        }
        else
        {
            window.location = _download;
        }
    }
}

这个地方就是生成链接地址的函数,而且这个函数的内容不随页面语言和访问者 IP 地址的改变而改变。接着Tim就开始修改代码。本人对 PHP 一窍不通,还好 PHP 的字符串操作和 C++ 蛮像的,这里也只用修改一下搜寻字符串的地方,原作者其它那些代码对我来说是一本天书。修改后的地方是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function skydrive_get_outlink($url)
{
    if ( IsAbsoluteUrl($url) === false ) {
        $url = $sdoldefaulturl . $url;
    }
    $body = ffox_get_http_body($url);

    $pos = stripos($body, 'var _demote');
    $body = substr($body, 0, $pos);
    $startstr = 'var _download = \'';//Tim modified in version 0.3: to locate the start position of the outlink
    $endstr = '\\x3f';//Tim modified in version 0.3: to locate the end position of the outlink
    $start = strripos($body, $startstr) + strlen($startstr);
    $end = strripos($body, $endstr);
    $outlink = substr($body,$start, $end-$start);
    $outlink = str_replace('\\x3a', ':', $outlink);//Tim added in version 0.3: to replace \x3a to :
    $outlink = str_replace('\\x2f', '/', $outlink);//Tim added in version 0.3 to replace \x2f to /
    $outlink = str_replace('\\x25', '%', $outlink);//Tim added in version 0.3 to replace \x25 to %
    preg_match_all("/\&amp;\#([0-9]+)\;/", $outlink, $acs);
    $acs = $acs[1];
    foreach($acs as $ac) {
        $outlink = preg_replace("/\&amp;\#([0-9]+)\;/", chr($ac), $outlink,1);
    }
    return $outlink;
}

这么一修改,插件运作地就很良好了,Tim用Firefox、Chrome、Safari、Opera、IE都做了测试,效果非常不错!《Mairé Digby YouTube 官方站高清 MV 合集》中的所有视频都是采用 SkyDrive 存储,此插件获得外链地址的,您可以点过去瞧瞧效果。怎么样,这个插件的确不错吧,那么请

点击下载(2010.1.1更新,请将下载的文件的后缀名改为.zip)

在这里Tim要感谢Flarefox ,他的所做工作是开创性的,我只是站在Flarefox 的肩膀上对插件做了一点小小的修改,让它工作得更棒!请Flarefox看到此修改版、并且觉得Tim修改的还不错后,将我的版本合并到你的官方版本中,以让更多人更好的享受这顿“又免费又丰盛的午餐”!

热度:335°C

噪音:想要打破沉默吗?

基于维基百科的WordPress全站中文繁简转换插件

分类:信息时代 | 编程开发  标签: | | |

毫无疑问,维基百科WordPress都是它们各自领域的佼佼者。当它们的威力组合在一起的时候,那只能用圣斗士小宇宙爆发来形容了。

笔者曾在文章《利用中文维基百科实现基于表达习惯的高质量中文简繁转换》中介绍过巧妙使用中文维基百科的用户页面实现免费高质量中文简繁转换的方法。

然而今天笔者发现,WordPress世界里面有位超级高人已经把这项功能实现为WordPress的插件了!安装了这个插件后将其添加到您WordPress网站的侧边栏里,将会为你的网站提供实时的、服务器端的、基于MediaWiki引擎的高质量全站中文简繁转换。

WikipediaWordPress

这真是个价值连城的东西,笔者赶紧把它装在了我的WordPress中。现在,您可以点击嘻来嚷往站侧边栏中第二个名为“全站中文简繁转换”部件中的转换链接,查看这个插件的转换效果。

如果您也使用WordPress架设自己的网站,那么赶紧下载吧。您也可以先看看后面的插件介绍,在决定您是否下载使用它)。 挺有意思,往下瞧瞧 »