跳转到主要内容

MovableType

MovableType

活字印刷,MT至高!

MovableType 交流QQ群:21518121

宝塔面板安装 MovableType

Tony 提交于 周五, 2020-03-06 - 13:00

使用宝塔面板+ PSGI 的组合来运行 MovableType,默认用 Nginx 的组合进行安装,在软件商店里添加 Memcached 来提高性能。

宝塔面板安装 Movabletype

aaPanel应该也能用同样的方法操作。

安装 MovableType 需要的 perl 组件。

yum install -y perl-Cache-Memcached perl-Archive-Zip perl-XML* perl-YAML-Syck perl-Crypt-DSA perl-GD perl-Archive-Tar perl-Cache-* perl-Crypt-SSLeay perl-IPC-Run perl-DBI perl-DBD-mysql --skip-broken

安装 PSGI 环境。

这里需时较长,网络问题也会经常失败,重复执行直到提示都安装过了就行了。

yum install perl-ExtUtils* perl-Module-Build expat-devel gcc -y
curl -L http://cpanmin.us/ | perl - App::cpanminus

cpanm Plack
cpanm Task::Plack
cpanm XMLRPC::Transport::HTTP::Plack
cpanm Cache::Memcached
cpanm Cache::File

修改 Nginx 配置,mt 目录下的文件都交给 PSGI 处理。

回到 BT 面板,在需要运行 Movabletype 的 网站设置 里面,配置文件,在 Server {  里面加入以下,第一行的 /cgi-bin/mt/ 根据实际情况更改,以下设置为通过 abc.com/cgi-bin/mt/ 来访问 mt.cgi 。

location /cgi-bin/mt/ {
proxy_redirect off;
proxy_set_header    X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header    X-Forwarded-Host  $host;
proxy_set_header    Host              $host;
proxy_set_header    X-Real-IP         $remote_addr;
proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5000;
proxy_read_timeout 1200;
proxy_connect_timeout 1200;
fastcgi_read_timeout 600s;
}

重启一下 Nginx ,没有错误再继续往下做。

同时把 /www/wwwroot/abc.com/cgi-bin/mt/ 目录下的 mt-config.cgi 信息填好。

mt-config.cgi 长这样:

PIDFilePath /www/wwwroot/abc.com/cgi-bin/mt/mt.pid
CGIPath    http://abc.com/cgi-bin/mt/

ObjectDriver DBI::mysql
Database mt
DBUser mt
DBPassword 12345678
DBHost 127.0.0.1
MemcachedServers 127.0.0.1:11211

文章标签

如何把 MovableType 导入 Drupal

Tony 提交于 周四, 2016-02-04 - 12:22

此文记录了如何把一个MovableType的博客导入Drupal的过程,也可当成是一个WordPress导入Drupal的教程。 大体思路是先把MovalbeType导入WordPress,然后通过Migration from WordPress模块把WordPress导入Drupal。

回到顶部

导入前导入后的文件结构区别

N/A表示在转换过程中会丢失。

  • MovableType ---> WordPress ---> Drupal
  • Entry ---> Post ---> Article
  • Page ---> N/A ---> N/A 注:MovableType导出的文件不带Page的部分
  • Category ---> Category ---> Tags(taxonomy)
  • Tags ---> Category ---> Tags(taxonomy) 注:在MovalbeType导入WordPress过程中后会自动截取文章标题转录入Tags,会有大量Tags生成。
  • Custom Fields ---> N/A ---> N/A
  • Comment ---> Comment ---> Comment
  • Trackback ---> Comment ---> Comment

回到顶部

MovalbeType导入WordPress

  1. 在MT 6后台,选 Tools -> Export Entries -> Export Website,可以得到一个TXT文件。
  2. 把这个TXT文件改名为 mt-export.txt ,上传到WordPress的 wp-content 目录下。
  3. 在WP后台,选 工具 -> 导入 -> Movable Type and TypePad (可能会提示需要安装插件) -> 导入 mt-export.txt
  4. 完成。

回到顶部

WordPress导入Drupal所需要的模块

因为Migration from WordPress支持在线导入WordPress站点,不需要任何数据文件,使得两边导入非常便捷,不用担心导入体积较大的网站时会出现脚本超时的状况。导入过程也伴随一个导入向导,你可以在向导中设置各种导入参数,甚至可以在导入结束后把Drupal倒回原来的状态。

回到顶部

Typepad 托管试用心得

Tony 提交于 周日, 2015-08-02 - 21:50

Typepad托管试用心得

试用了一下Typepad的收费版,计划是如果Typepad的表现能接近Movabletype或相仿的话就会把自建的Movabletype博客转移上去托管,毕竟都是同一个东家的产物。

试用的是$14.95一个月的Unlimited Plan(年付的话送两个月$149.5),可以开无数个子博客,开启完全自定义HTML功能,没有广告。

回到顶部

Typepad托管的特色

  • 支持MovableType的Template Tag Reference,MT皮肤移植SO EASY!
  • 支持从WordPress,MovableType导入文章。
  • 众多插件支持,包括Disqus,Bit.ly Link Shortener,Google Analytics。
  • 支持通过邮件上稿。(上班的时候想吐槽就在OUTLOOK里来一发)
  • 后台有大量应对SEO友好的设置。
  • 每个博客都支持多作者合写。

回到顶部

托管在Typepad的好处

  • 速度飞快,经过过MovableType静态生成的人一定会惊讶TypePad页面生成的速度。
  • 访客如果已经登录了Typepad,当访问其他Typepad托管的博客时,可以方便地加入阅读器并关注。
  • 无限博客数量是很让人上瘾的……

回到顶部

托管在Typepad的不足

  • 贵。
  • 绑定域名部分的操作很不人性化。
  • 搜索功能非常差,对中文搜索不好,我遇到中文搜索不能的情况后跟客服交流过几次,按照客服的指引做(等待索引)依旧不能成功,这是我放弃Typepad的最主要因素。
  • Typepad前端加载在CloudFlare上,有部分CF的IP在国内访问不到。

blog.tonyhead.com. 300 IN CNAME tonyhead.typepad.com.
tonyhead.typepad.com. 300 IN CNAME cname-cloudflare.typepad.com.
cname-cloudflare.typepad.com. 300 IN A 190.93.247.9
cname-cloudflare.typepad.com. 300 IN A 141.101.115.9
cname-cloudflare.typepad.com. 300 IN A 190.93.244.9
cname-cloudflare.typepad.com. 300 IN A 190.93.245.9
cname-cloudflare.typepad.com. 300 IN A 190.93.246.9

回到顶部

总结

如果你需要做很多个英文的小站,并且只需要1个系统管理员,那么可以考虑Typepad。

回到顶部

TONYHEAD.COM切换到HTTPS上

Tony 提交于 周五, 2014-08-15 - 14:39

TONYHEAD.COM切换到HTTPS上

响应Google号召,使用 HTTPS 为TONYHEAD 通利堂全站护持。

SSL证书是msg7086友情帮忙签的Comodo Positive SSL,再次感谢。

回到顶部

2014-09-14更新

出于速度考量(又拍云的二级域名需要花费5秒在SSL Negotiation上),只对后台启用HTTPS加密,前台使用HTTP。

回到顶部

MovableType配置

修改 mt-config.cgi 里 CGIPath ,如果只是需求单纯Admin后台部分(mt.cgi)启用HTTPS那么就改成 AdminCGIPath ,因为我的计划是前后台(mt-comment.cgi+mt.cgi)都启用HTTPS,所以我设置的是 CGIPath 。

CGIPath https://www.tonyhead.com/cgi-bin/mt/

回到顶部

Nginx配置

在server括号中加入下列,把所有走80端口的流量都重定向到HTTPS下。

if ($server_port ~ "^80$"){ set $rule_0 1$rule_0; } if ($rule_0 = "1"){ rewrite /(.*) https://www.tonyhead.com/ $1 permanent; break; }

页面元素路径配置

把页面元素的引用路径都改成"//domain/flower.jpg"是一个好习惯,浏览器会根据当前页面是HTTP或是HTTPS来自动适配。

回到顶部

其他发现

  1. 在清理页面混合内容的过程中发现新浪云的 .sinaapp.com 和又拍云的 .upaiyun.com 都能支持HTTPS访问,在此大力推荐。
  2. AdminCGIPath 和 CGIPath 的区别
  3. 为了让手机上的浏览器(包括QQ浏览器和Chrome)完美支持加密访问TONYHEAD(不需要在客户端加入额外证书,避免了感叹号提示),需要在服务器端上做好足够的证书链,为什么需要完整的证书链可以参考这里
  4. TONYHEAD.COM的证书链截图。

回到顶部

文章标签

如何通过 Nginx+PSGI 运行 MovableType

Tony 提交于 周一, 2014-08-11 - 12:50

一个游戏在通关前我都说不上喜爱,随后所有的精诚法门敏捷操控总在我知道我能通关为前提下一一展现。例如贪吃蛇,全屏首尾相接是没有悬念的,区别只在后期食物和加分水果距离蛇头的位置,来决定通关后能够获得的差异的分数。这也是我喜欢网页设计的原因,反正最终是可以实(chao)现(xi)这个效果的,只是看要花多少时间走怎(pian)样(men)的路线罢了。

于是我又来折腾了,把TONYHEAD 通利堂从传统的Apache-cgi_module-CGI切换到Nginx-PSGI-CGI上。

先说说为什么要用PSGI来跑MovableType这个Perl应用,用过MT的都知道MT后台的反应是多么的龟速(短板不在硬件上),想达到WordPress后台那种按按按就出结果的节奏是不可能的,但亲测转到PSGI后效果有明显改善。根据测评,PSGI模式的效率是CGI模式的1.9倍,是FastCGI的1.4倍,在另一个测评中,PSGI的效率都在CGI的2倍以上,如图:

CGI vs PSGI

图片来源

总之切换到PSGI后效能的提升是显而易见的,下面开始介绍做法。

系统环境

Starman是一个PSGI网关,在MovableType 5.2开始支持Nginx+PSGI时进入视野,mt-starman-daemon作为守护进程会把 /cgi-bin/mt/ 目录先预读进内存,把该目录下的所有cgi/pl脚本交给Starman处理,Nginx则负责处理前端静态文件和转发Starman。在AWS市场里Nginx+MySQL+Starman是作为MovableType 6的标准配置,可见这一组合和思路是被推崇的。

步骤

OS部分

先安装cpanminus。

curl -L http://cpanmin.us/ | perl - App::cpanminus

安装Plack,XMLRPC和Starman,这一步需时较长,请耐心等待。

cpanm Task::Plack XMLRPC::Transport::HTTP::Plack Starman

下载mt-starman。

wget -P /etc/init.d --no-check-certificate http://raw.github.com/saahov/mt-starman-daemon/master/debian/mt-starman

把mt-starman设置为可执行。

DISQUS / 多说 心得

Tony 提交于 周六, 2014-08-02 - 10:48

DISQUS/多说心得

在很久以前评论还是属于博客主的资源,在搬迁的过程中文章评论一个不能丢。近年网络社交兴起博客主为了吸引访客互动会使用第三方网站托管评论。于是我就尝试了一下把评论迁移到第三方社会化评论平台上,经过一段时间的测试最终还是没把通利堂的评论托管到DISQUS多说上,但整理了一些心得供分享。

回到顶部

优点

  • 两者的安装都很简单,对主流系统(WordPress,Drupal等)提供了插件,亦有通用代码模式可以嵌入任意网站。
  • 都可以把评论同步会原系统(部分程序例如WordPress),让你无痛切换回原评论系统。
  • 都可以在手机浏览器中使用。
  • 用第三方评论系统能提高网站的安全性(水桶理论),不少“安全网站”也在使用DISQUS。

回到顶部

缺点

  • 不知道哪天开始就会增加广告或者要求付费。
  • DISQUS有被墙的可能性。
  • DISQUS不支持国内流行的社交平台帐号登录和分享(例如不支持新浪微博登录和分享到新浪微博)。
  • 使用DISQUS会为页面增加大概250KB体积,来自至少3个域名,15个以上的JS/CSS/字体/图片文件。
  • 使用多说会为页面增加大概200KB体积,来自至少2个域名,8个以上的JS/CSS/图片文件。
  • DISQUS评论同步功能不支持同步回MovebleType 5。(残念……放弃)
  • 国内服务的缺点:网站接入社会化评论需取得 ICP 备案

回到顶部

DISQUS小技巧

 

回到顶部