跳转到主要内容

MovableType

MovableType

活字印刷,MT至高!

MovableType 交流QQ群:21518121

为MovableType加入Memcached增强效率

Tony 提交于 周四, 2013-02-28 - 19:22

转移到VPS后可以随心所欲地配置服务器,这次加入了Memcached以增强MovableType搜索页面和全站生成时的效率。

部署Memcached的好处

TONYHEAD 通利堂的网站结构有一个重要的部分就是标签和关键词页面,例如魔兽世界这个标签,浏览器中的路径是简洁的例如:

但实际上是用MovableType的搜索功能+.htaccess做的一个花招,每次用户或者搜索引擎点击上面的地址时都会执行一次以下脚本:

当搜索引擎蜘蛛在爬我的网站的时候我就会开始担心服务器的资源了 =。= ,而且响应变慢的话也会影响收录结果,所以有任何可能提高这个页面查询结果的方法的话我都想尝试,例如引入一个Memcached

下面的表格是我尝试不同大小的Memcached的结果,最后根据VPS的限制我选择了在内网的其他空闲VPS上跑128MB的。

未加入Memcached前生成全站耗时11分20秒 第一次生成全站耗时 第二次生成全站耗时 第三次生成全站耗时
Memcached设置为32MB时 12分3秒 7分53秒 7分19秒
Memcached设置为64MB时 7分59秒 9分11秒 8分8秒
Memcached设置为128MB时 8分55秒 8分16秒 7分59秒

Memcached部署方法

VPS上安装Memcached

yum install memcached

启动Memcached,以下命令是启动一个在本机11211端口上128MB的实例,如果在内网其他机子(172.11.7.30)上启动则在172.11.7.30上执行 /usr/bin/memcached -d -m 128 -u root -p 11211 -l 172.11.7.30

/usr/bin/memcached -d -m 128 -u root -p 11211 -l 127.0.0.1

为Perl安装Memcached模块

wget http://search.cpan.org/CPAN/authors/id/D/DO/DORMANDO/Cache-Memcached-1… && tar -zxvf Cache-Memcached-1.30.tar.gz && cd Cache-Memcached-1.30 && perl Makefile.PL && make && make install

String-CRC是其依存模块,也要安装。

wget http://search.cpan.org/CPAN/authors/id/S/SO/SOENKE/String-CRC32-1.4.tar… && tar -zxvf String-CRC32-1.4.tar.gz && cd String-CRC32-1.4 && perl Makefile.PL && make && make install

为MovableType安装Memcached模块

不需要,因为MovableType是原生支持Memcached的。

好吧,其实还是需要在mt-config.cgi里面配置一下MemcachedServer的,告诉系统哪里可以找到Memcached服务器。

MemcachedServers 127.0.0.1:11211

文章标签

升级到Movable Type 5.13

Tony 提交于 周一, 2012-03-05 - 21:32

把TONYHEAD 通利堂的站台从Movable Type 4.38升级到5.13,并把这座“房子”的坑补了一遍。

Movable Type 5

 

因为5.x的feeds-app-lite(版本1.22)抓取中文的rss会乱码,而我非常需要这个功能现实在首页的右侧,这是我停留在4.x的主要原因。直到最近找到了一个del.icio.us的PHP库可以做到一样的功能,于是我把这个坑填上并转移到Movable Type 5之上。

但这个PHP脚本不是生成静态的html,所以每次加载会有一定延迟,于是我用js做了一个延迟显示,这样就算加载不了也不会影响整个页面。

 

Movable Type 5

图:未加载完delicious_content前会显示一个Loading Loading 的图标,不影响显示页面的其他部分,读取完毕会加载入页面。

同时用这个库做了一个美味书签页面,使得风格可以统一起来并且显示在TONYHEAD 通利堂的“领土”之上(如果用阿殷的话说就是“under my custody”)

关于MovableType生成文件的属性,可参考这帖,这在需要生成PHP的环境中会遇到(例如在生成的页面里执行PHP代码,PHP文件需要755的属性来执行),我的配置如下:

HTMLPerms 0755
DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022

另外因为服务器安全升级,旧的QRCode生成方式被禁止了,索性去掉,现在的QRCode交给Google Chart Tools生成。

掌上设备阅读

至此把5.x和书签的坑全填上了。

文章标签

好吧我要每天写日记

Tony 提交于 周日, 2010-09-19 - 22:15

加上一个“历史上的今天”的功能在每篇日记的下方。

例如这篇文章的尾部就列出了其他4年的“当年今日”。

这个OnThisDay插件写于2002年并重来没有更新过,但放在现在的MovableType 4上依然工作正常。 活字印刷,MT至高!!!

文章标签

Access Counter

Tony 提交于 周四, 2010-03-04 - 11:57

2014-08-12更新:AccessCounter 1.04在PSGI模式下用不了,所以左边的按点击排序目前是个摆设。 添加Access Counter做一个受欢迎文章(按点击数)的排序。

要记得每次升级MT的cgi文件夹后把AccessCounter.cgi的属性调回755。

本站左侧的 流行的文章 代码供参考

<mt:Entries sort_by="accessed_count" sort_order="descend" limit="5"><mt:EntriesHeader></mt:EntriesHeader><$mt:setvar name="rank" value="1" op="++"$><li><a href="<$mt:EntryLink$>"><$mt:EntryTitle$></a> <span class="fog">(<$mt:AccessedCount$> hits)</span></li><mt:EntriesFooter></mt:EntriesFooter></mt:Entries>

文章标签

吾系你死,就系我翻吾到屋企

Tony 提交于 周一, 2009-04-27 - 21:59

介绍一个MT插件,Randomline,可以随机显示短语(类似每日箴言),图片,文章等。

我用它实现了在网页顶部,站台描述下面从“金句库”(一个每行系一句金句的txt文本)中随机抽取一条记录显示的效果,你可以多翻几个页面来查看不同的“金句”。

今日搬左新位,唔洗掐指一算都知系个三煞局,唯有醒定低调打单咯,近期目标系每日做一代钟神够钟闪人。

小学群最近增员不少(进度:39 OF 48),小时候的记忆都拼凑左唔少翻来,包括小学时只系同我地一起上左一年课的同学,后来因病去世的街坊(有传话有人读初中时见到佢系其他小区出现(惊)),断左只手烧烂个嘴的百厌星,细我地一级但系我地D男仔试过尾行人地嘅师妹等等,迟D写翻篇菩小3班风云录至得。

文章标签

窗里人将老 门前树已秋

Tony 提交于 周五, 2009-04-10 - 22:52

晚黑系度搞MT,见到一个已经不再更新的插件: https://plugins.movabletype.org/dirifyes/

插件系为MT 2.6写,已经不再更新,因为作者已经因为在车祸中丧生。

Crys Clouse, age 25, of Lawrence, Massachusetts, died after being struck by the Haverhill-to-Boston noontime MBTA commuter train on Thursday, March 11, 2004, in Lawrence General Hospital. The website this plug-in links to is no longer there.

你有没琳过自己瓜左之后的世界会系点? 愿逝者安息。

文章标签

转移到家用主机上

Tony 提交于 周六, 2009-04-04 - 13:07

今日将TONYHEAD 通利堂搬左去屋企部主机上面,因为之前个Movable Type 4.25升级令到我个Compare插件失效(我用这个插件来实现对应不同分类的文章时显示用不同的Template),并且最近Site5对资源做了限制,我全站生成的时候经常会Timeout,索性将站台转移过来顺便整理一下日久失修的地方。

网站所属的硬件归自己管理之后调试和管理更加得心应手,在整理了部分因为平时超时错误导致损坏文章的数据之后,在phpMyAdmin中发现MySQL的流量已经达到266MiB,对这个单位觉得模棱两可,Google之后得到答案,MB和MiB就系平时所讲的"1024(1048)或1000"的问题。
Traffic 1 ø per hour (15 hours)
Received 50 MiB 3,375 KiB
Sent 216 MiB 14 MiB
Total 266 MiB 17 MiB
10**(3) = 1,000 bytes = 1 Kilo byte (KB)
10**(6) = the old way 1,000,000 bytes = 1 Mega byte (MB)
10**(9) = 1,000,000,000 bytes = 1 Giga byte (GB)
10**(12)= base 10 1,000,000,000,000 bytes = 1 Tera byte (TB)
10**(15)= 1,000,000,000,000,000 bytes = 1 Pera byte (PB)
10**(18)= 1,000,000,000,000,000,000 bytes = 1 Exa byte (EB)
10**(21)= 1,000,000,000,000,000,000,000 bytes = 1 Zettabyte (ZB)
10**(24)= 1,000,000,000,000,000,000,000,000 bytes = 1 Yottabyte (YB)
2**(10) = 1,024 bytes = 1 Kibi byte (KiB)
2**(20) = the new way 1,048,576 bytes = 1 Mebi byte (MiB)
2**(30) = 1,073,741,824 bytes = 1 Gibi byte (GiB)
2**(40) = base 2 1,099,511,627,776 bytes = 1 Tebi byte (TiB)
2**(50) = 1,125,899,906,842,624 bytes = 1 Pebi byte (PiB)
2**(60) = 1,152,921,504,606,846,976 bytes = 1 Ebi byte (EiB)
2**(70) = 1,180,591,620,717,411,303,424 bytes = 1 Zebi byte (ZiB)
2**(80) = 1,208,925,819,614,629,174,706,176 bytes = 1 Yobi byte (YiB)
另:MT大神Jedi的网站也是架设在家中的主机之上。
www.tonyhead.com 在线时间(uptime)

  • 综合在线时间 website uptime
  • 上月在线时间 website uptime
  • 上年在线时间 website uptime

用Google Search处理Tags

Tony 提交于 周一, 2009-03-23 - 22:38

之前介绍了用Google Search处理全站搜索,今次介绍用Google Search处理Tag。

在MT里面每次按Tags整理页面时就等于用cgi脚本做一次搜索,极度消耗系统资源,在MT4里面的默认模版都把Tags的链接做成onclick形式来防止过度滥用,现在可以把这用工作交比Google,从此可以在文章页大胆运用Tags来串通脉络。

文章标签

Movable Type模板教程 分栏

Tony 提交于 周六, 2009-03-21 - 01:42

Movable Type 4 Pro上的模板栏目数由模板的第一句话控制

<$mt:Var name="page_layout" value="layout-wm"$> 通过修改其中layout-wm字串即可达到2栏或3栏的效果,其中w表示wide宽,m表示middle中等,t表示thin窄。

具体可以在/mt-static/themes-base/blog.css中可找到分栏组合及参数:

layout-wtt /* Wide-Thin-Thin */ 3栏式
layout-twt /* Thin-Wide-Thin */ 3栏式
layout-wt /* Wide-Thin */ 2栏式
layout-tw /* Thin-Wide */ 2栏式
layout-mw /* Medium-Wide */ 2栏式
layout-wm /* Wide-Medium */ 2栏式

3栏式设计下的侧边栏内容由Widget Set: Blog Activity和Widget Set: Blog Archives控制,2栏式设计下的侧边栏内容由Widget Set: Main Sidebar控制,通过修改Widget Set里面的Widget Templates就可以自由侧边栏的内容。

文章标签

终结MT SPAM

Tony 提交于 周二, 2009-02-17 - 11:40

此BLOG已承受144012次攻击自有统计以来。

MovableType可说是世界上遭受SPAM攻击最多的程序,坊间对于对Movable Type的SPAM攻击有若干种抵御方法,例如TypePad AntiSpamBlackList,改名法等,以下逐个分析利弊同介绍我采用的方法。 TypePad AntiSpam法,MT4.X的原生抵抗SPAM方案,类似wordpress上的akismet。过滤SPAM成功率高,在后台设置Aggressive为+1已经可以为我每天抵挡2000+条攻击,缺点是占用系统资源,因为需要cgi脚本处理每一次请求,如果是按运算时间计算的空间上可能几小时就会全部500错误。

CCode and TCode法,原理是加入只对机器有效干扰串,坏处是对代码改动太多,对我这种程序苦手+喜欢经常升级的人来说比较麻烦。

改名法,把mt-comments.cgi改为其他名字,这能躲过一些SPAM发贴机的攻击。 .htaccess法,也是我目前使用的方法,收集SPAMMER的IP并写入cgi-bin目录下的.htaccess文件,我没有写在根目录底下的原因是防止误杀而造成的不能浏览,这样被误杀的IP虽然不能发表评论(或者使用搜索功能),但还能正常浏览网站。

文章标签