Movable Type 情结

从我开始使用虚拟主机来搭建 blog 起,我就听说了 WordPress 和 Movable Type 的大名。我先用的是 WordPress,很顺利的装上了。用了大约一年之后,我刚到加拿大没一个月,手贱,试着在另一个域名上安装 Movable Type,结果不大完美,从那时就有 Movable Type 更难的印象。一直到去年,我的虚拟主机出问题了,我换了一家,又尝试安装了一次 Movable Type,结果成功了。奇怪的是,从那以后我又装了几次 Movable Type,一直很顺利。

安装好了 Movable Type 之后,有个问题让我兴奋的心情打了许多折扣,那就是效率。在我当时用的 Dreamhost 主机上,Movable Type 的效率简直可以用“惨不忍睹”来形容了。我当时也上网查了一些文章,结果得到的结论是 perl cgi 的执行效率就是如此,所以 Movable Type 可以说是天生比 WordPress 慢。这让我有种立马回到 WordPress 的感觉,不过我不大甘心就这么放弃了,于是就从那是开始了可以用“自残”形容的 Movable Type 使用历程。

到了去年 12 月,借给我主机的哥们迁移到了 site5,于是我就跟他合租。结果我才知道 Dreamhost 的虚拟主机有多么烂。我在 Dreamhost 上发布整个站点,需要大约 45 分钟,而在 site5 只要 1 分钟多一点。这让我开始接受了 Movable Type 的效率,虽然还是没法和 WordPress 相比,但我已经可以接受了。

从我的网络知识获取渠道上来看,大概是今年初 VPS 开始流行起来了。过去一个人在虚拟主机上装个 blog 程序来写 blog 已经算是比较有技术含量的活了,而现在我看到很多人都开始倒腾起了 VPS。我了解了一下 VPS 的概念,知道了相对于虚拟主机,VPS 有更多的资源,但多数需要使用者有更高的操作技能。我之前就看了很多相关的文章,也比较了几家提供商的方案和价格后,就想找机会试试 VPS。

今年暑假,我和几个同学打算开个站点,看看能不能挣点钱。基于效率上的考虑,我们选择把站点放在 VPS 上。开始的时候我在我的 site5 空间上放了一个 PHP 站,从国内测试的访问速度很不行,换到 VPS 上,国内的同学反应好多了。通过别人的文章推荐和评测,我选择了口碑比较好,价格比较低的 Ramhost。我选择的方案是 256MB 内存的 Micro 方案,机房在堪萨斯城,每月 8.99 美元。经过了大约一天半的实践和研究,算是在上面成功的安装了 Ubuntu 9.10 / Nginx / MySQL / PHP / Memcached / etc.,把站给跑起来了。中间走了一些弯路,不过最后还是弄成了。

Ramhost 有每月 2.99 美元的 80MB 内存的 Nano 方案,我算了算价格后比较心动,再加上之前安装过一次 VPS 了,也有了一些经验。分析一下在上面跑一个私人站点还是可以的,虽然内存很紧张。昨天晚上正式开通了。我没有选择 centos-5-i386-kloxo-hostinabox 那个镜像,尽管别人评价说 Ramhost 的人把它优化的非常小,而且我试了一下果然耗内存很小,但我实在是不喜欢 yum(装好后 yum 还是不能用的)和 kloxo 那种图形化的设定方式。那些选项都不知道在什么地方,之前我也没有经验,被 dns template 之类的东西给搞迷糊了。于是我就装了 debian-5.0-i386,按照这篇文章上讲的优化 Debian 的方法、以及这篇文章讲的优化 MySQL 的方法,把服务器给装好了。之前因为用的 Nginx,从网上找了些资料,说是对 Movable Type 支持不好,我也想尝尝鲜,就装了 Lighttpd。

Lighttpd 确实有 cgi 和 fast-cgi 的支持,不过我看了网上的一些文章,在上面装 Movable Type 似乎特别复杂,复杂到超出了我的兴趣;我自己尝试时数据库那步出了问题;再加上我这几年对 WordPress 也有了一定的改观,所以我最终放弃了安装 Movable Type,而选择了 WordPress。我在 site5 的 WordPress 里试着导入了从 Movable Type 里导出的文章,结果效果很不好。安装了 Markdown 插件之后,段落之间的空行都没了。全篇文章变成了一个大段,太难看了。最后无奈,我只好把过去的页面都放在了 old 目录里了,等着有时间做个转向看看,幸好 Movable Type 是输出静态文件。

我这个最便宜的 VPS 只有 80MB 内存,比较吃紧。我在安装 MySQL 的时候内存飙升到了 127MB。而我的内存加上 Burstable 的才 128MB,结果直接导致机器卡死,安装失败。而且我在刚刚开始使用的时候,看了一篇讲优化的文章,照着上篇删除了一些用户和一些组,导致配置不成功。于是我干脆还原成初始镜像,从头开始。

有了第一次的经历,第二次就快多了。安装 MySQL 的时候我挺紧张,但最后还是出错了,同样是因为内存不够。我按照上面提到的那篇 MySQL 优化的文章,使用了 my-small.cnf 这个配置,在里面添加了 skip-bdb 和 skip-innodb,总算把内存占用量给降下来了。目前 MySQL 一共占用 8MB 左右的内存空间。

我还是不习惯用命令行里操纵 MySQL(SQLite 就没事,奇怪),于是安装了 phpMyAdmin。这次安装的经历比我在上一个 VPS 上在 Ubuntu 10.04 上安装的经历要好的多。上次我装完了之后,配置了半天,才把它配好。而这次因为我用的是 Lighttpd,这就方便多了。安装程序直接做好了安装文件,用 lighty-enable-mod phpmyadmin 来启用相关的模块,就可以在浏览器里面访问了。

第一次使用 Lighttpd,感觉和 Nginx 有一些不同,当中走过一些弯路,最后的结果还算不错。不过我在安装 WordPress 的时候,提示我说 WordPress 不能写 wp-config.php 文件,我查了半天权限也没看出是哪出了问题,只好按要求手动把内容复制到文件里。WordPress 可以自动升级插件、安装扩展功能,这点挺好,但需要 FTP 才行。我本来不想装 FTP 的,但因为这个,就只好装了 vsftpd。弄好了按照配置文件里的注释自己改了改,发现竟然比上次要简单、顺利。不知道是因为我已经有了经验的原因,还是 Ubuntu 和 Debian 之间的不同导致的。

安装完成之后,我现在的内存使用量大概是 55~60MB。占用最大的是 php-cgi,我在 Lighttpd 的 FastCGI 的设定里,把进程数调整为 2,这样除了一个 5.6MB 的主进程外,还有两个副进程。这两个进程经常占用内存上 16MB,让我挺头疼,所以只好限制了进程的数量。目前我的配置文件里,max-procs 我设置为 1,PHP_FCGI_CHILDREN 我设置为 2,PHP_FCGI_MAX_REQUESTS 我暂时设定为 1000。目前用着还可以,内存用到 55MB,作为个人的站点是足够了。如果将来不再弄点别的,我看看要不要再多开一个进程。或者等将来研究研究 WP Super Cache 看看能不能降低一下内存占用。

我在 GoDaddy 注册的这个域名。之前有修改 DNS 的经历,那几次都要花上大约 12 个小时才能生效。结果这次我修改到 Ramhost 的 DNS 时,我看到提示说“给我们几分钟来让设置生效”。我当时没反应过来,但过了不到半小时,我刷新浏览器,发现域名已经指向了 Ramhost 的主机了。这让我感觉很讶异,之前还没有一次这么快过呢。不知道是 GoDaddy 提升了效率,还是仅仅是个例。这也给我带来了一点小麻烦,我本来打算的是先在 GoDaddy 里面修改了 DNS,然后在等待 DNS 生效这段时间内,正好打包旧的数据。结果让我有些猝不及防,我还没开始打包呢,域名就变了。后来我发现 site5 可以通过 “IP 地址/~用户名”的方式来访问,总算是解决了问题。

这次选择了 WordPress,除了我不想再耗费精力的安装 Movable Type 外,也是我比较长期考虑的结果。

这一段时间以来,我一直使用 Movable Type,确实感觉到了一些问题。首先就是资源少,没有 theme 这个问题实在是 Movable Type 用户的心病。社区不活跃、开发也不频繁,我之前因为 Movbale Type 5 里面的 Markdown 插件在国际字符下有问题导致不能发布 Markdown 格式书写的文章的问题,提交过多次报告,等待了很多次的更新,都没有解决问题。后来还是我从一个人的 blog 上看到了解决方案。我把解决方法做成 patch 提交后,也没有什么消息。按理说这么简单的修正应该看到了马上就放进下一次更新里的。难道是 6A 的开发很紧张吗?几次更新我还真没看出什么明显改进来。

相反,WordPress 在这几年里发展很活跃,更新也很明显(这种更新可不像 Movable Type 从 4 到 5 那样)。而且它的插件也确实可以用“浩如烟海”来形容(刚刚居然忘了提 Movable Type 的插件,我从开始使用 Movable Type 到现在,从来没有安装过系统自带的之外的插件,而且还禁用过一些自带的插件)。之前我也说了,现在的插件可以自动更新。设定好了 FTP 帐号后,基本上就杜绝了手工操作 wp-content 目录的麻烦。这写都是 WordPress 进步的标志。还有就是 Movable Type 总是说静态页面的好处,但无论我怎么设定,Movable Type 就是没有需要动态访问数据库的 WordPress 快,或许和磁盘 IO 有关系?反正用了 WordPress 享受到的是更快的速度,何乐而不为呢?

但这样一来我过去的文章就没法导入 WordPress 了。我目前把就的页面都放在了 old 目录下面,等有时间再做转向吧。

从此,我暂时和 Movable Type 说“再见”。虽然不再用它了,但也算是有感情的。希望这次“再见”不会是“永别”吧。

10 comments

  1. 不知道您现在的这个blog是不是在ramhost的nano上运行起来的?我最近也打算买个ramhost nano试试,您这篇文章给我提供了不少帮助!

    1. 是的,nano基本上够用了。我不喜欢kloxo,于是就装的是Debian,其它的系统就有些内存不足的麻烦了。

      不过可惜的是最近ramhost似乎没货……

  2. […] 我过去一直用的就是最便宜的 nano 方案,亚特兰大机房。最开始时是 80M 内存,2G 硬盘,流量我记不清了,反正我的小网站完全不会超流量。除了内存比较吃紧外,其它方面都比较充足。我讨厌 yum 包管理系统,也不喜欢 kloxo 那种难看又难用的图形设置方式,因此就没有使用最省内存的 centos-5-i386-kloxo-hostinabox 镜像。比较了一番后,我用的是 Debian 5.0。为了节省内存,我从网上找了一些优化方面的文章,让系统正常跑起来了,详细的内容我记录在这篇文章里了。 […]

  3. […] 尝试了一会,我把这个 blog 给关闭了,毕竟我早就转投 WordPress 阵营,不想在这里分心,这次毕竟只是想尝试一下。考虑了一下,我选择把我这个 TypePad 帐号一并删除掉。我有个习惯,就是不用的东西,可以删除我绝不占着浪费资源,这个帐号也是。TypePad 算是 Movable Type 系列的一个公共的帐号,除了这个网站系统之外,其它的一些服务,比如 Movable Type 的防垃圾插件也是需要它的帐号的。删除了这个帐号,也就相当于我彻底跟这个系列的产品说再见了。 […]

  4. […] 我对这种第三方的评论系统总是不大感冒。出于最近“本地的才最可靠”的想法,我一直觉得有些东西,能放在自己的服务器上尽量放在自己这里,因为这样才算是把它们握在了自己的手中。虽然比起个人的服务器来说,专业网站的服务器会更可靠一些,但一些特殊的因素(比如公司倒闭啦、被墙啦)总会让我觉得不大有安全感。当然,自己服务器上的东西,在折腾来去后总是容易丢失的,我的博客上的很多评论都在我上次切换 blog 系统的时候给没了。但自己弄丢的总找不到别人指责,所以也只好懊恼一番就算了。如果是因为别人的缘故让我的信息丢失,那么就不是懊恼一下子就可以缓过劲来的。另外,对于中国大陆的访问者来说,这些东西总有被墙的危险。至于事情发生了之后,能不能把这些放在第三方网站上的评论再导入回自己的 blog 系统中,我还没有一个比较明确的答案。但既然如此,一直把评论放在自己的服务器里就是了,我还没有遇到过那种流量大的让用户发表评论特别困难的案例呢。 […]

  5. […] 前几天想把我的站点上的图片处理一下,因为转换了 blog 系统,两个系统的一些文件的存放位置不同导致了过去的图片都不能访问了,我于是有空就修改一下,昨天看到有问题的图片剩下的不多了,于是就准备一下子把它弄好。 […]

  6. […] 我有几次这种经验,比如配置 VPS。一开始我觉得这不就是远程配置 Linux 么,有什么难的,有什么不会的去 Google 很快就能找到答案,因此也没有注重记录。只是因为第一次配这个东西,于是写了篇 blog 记录了一下,没有很详细,只是一些我过去没遇到过的一些设置。结果后来我换了一个新的 VPS 后,又需要配置一遍,我就有点抓瞎了,因为不清楚我有没有楼下什么。于是我就在配置的时候在 wiki 中记录下每一步,包括要做什么、命令、需要怎么编辑哪个文件,都详细的记录下来。之后我买了新的 VPS 后配置起来十分方便,按照这个列表走一遍就行了,不用担心漏掉了什么。 […]

  7. […] 今天也想不起什么时候是怎么样想起它来了,因为我本来也觉得不想也不再需要再关注它了。今天看了一下它的网页,挺吃惊的发现它竟然发布了6.1版本了。我的博客放弃使用 Movable Type 的时候,它才出版本5不久,现在有了下一个大版本,应该有了不少新的功能了吧。于是不由自主的就像装上试试。然后上了他的 .com 页面上,看到可以一键安装到 AWS 主机上,这点不错,可惜我没有 AWS,也觉得不大容易搞懂 AWS 的付费方式,担心不知不觉的被扣款,所以也没有进行下去。然后看了一下页面的其它部分,竟然没有找到下载链接。然后研究了一下,发现现在 Movable Type 竟然不给免费下载了,真是让我搞不懂。我搜索下,倒是有可以让你跟过去一样,免费下载开源版本的方法,但是在一个日文页面里,填上你的邮箱,选中一个要下载的理由,然后会给你发个链接还有提取码,你可以下载,很奇怪! […]

  8. […] 我对这种第三方的评论系统总是不大感冒。出于最近“本地的才最可靠”的想法,我一直觉得有些东西,能放在自己的服务器上尽量放在自己这里,因为这样才算是把它们握在了自己的手中。虽然比起个人的服务器来说,专业网站的服务器会更可靠一些,但一些特殊的因素(比如公司倒闭啦、被墙啦)总会让我觉得不大有安全感。当然,自己服务器上的东西,在折腾来去后总是容易丢失的,我的博客上的很多评论都在我上次切换 blog 系统的时候给没了。但自己弄丢的总找不到别人指责,所以也只好懊恼一番就算了。如果是因为别人的缘故让我的信息丢失,那么就不是懊恼一下子就可以缓过劲来的。另外,对于中国大陆的访问者来说,这些东西总有被墙的危险。至于事情发生了之后,能不能把这些放在第三方网站上的评论再导入回自己的 blog 系统中,我还没有一个比较明确的答案。但既然如此,一直把评论放在自己的服务器里就是了,我还没有遇到过那种流量大的让用户发表评论特别困难的案例呢。 […]

发表回复

您的电子邮箱地址不会被公开。