Movable Type 3.34出来好几天了吧?终于决定给自己的WebBlog升级了。
升级的热点是近来SPAM猖狂和新版本对FastCGI的支援。而我的WebBlog是在DreamHost上,刚好支援FastCGI。
升级很容易,简单覆盖,看的出来,似乎 Six Apart 这次只是修改了 Bootstrap.pm 让它支援FastCGI而已,其他的修改基本上忽略不计。
说实在的,对于 FastCGI 技术我并不看好,觉得其不稳定性太高,程序写的稍有不好就会使apache崩溃,相对来说,我青睐于mod_perl,这个稳定点,性能也好点,MT程序标准的OOP编写方式在mod_perl跑的很稳定的,但是似乎支援mod_perl的空间除了自己作主机商外几乎是不可能的:)
废话少提,回归正题,FastCGI方式作为一种预编译运行模式是和普通的CGI方式是共存的。你可以在同一个空间下,同时让不同的程序运行在不同模式下。
故而即使你的主机空间支援FastCGI模式,你升级完后的MT3.34依然工作在普通CGI模式下,这个需要你设置下。
FastCGI模式下的脚本程序文件默认是*.fcgi或者*.fpl。
但是这个不是绝对的,你可以通过编辑 httpd.conf 或者 .htaccess来定义扩展名。
具体语法是
AddHandler fastcgi-script .fcgi .fpl
对于DreamHost,只要开启了FastCGI模式,.fcgi .fpl 已经是默认的了。
对于MT,有两种办法可以设置:
1。修改脚本扩展名字,比如我就修改成了 *.fpl (个人喜欢3位的扩展名)
具体操作如下:
mv mt.cgi mt.fpl
mv mt-comments.cgi mt-comments.fpl
mv mt-tb.cgi mt-tb.fpl
mv mt-view.cgi mt-view.fpl
mv mt-search.cgi mt-search.fpl
再编辑 mt-config.cgi,修改/添加如下:
AdminScript mt.fpl记好完成后重建一次整个Blog。
CommentScript mt-comments.fpl
TrackbackScript mt-tb.fpl
SearchScript mt-search.fpl
ViewScript mt-view.fpl
2。强制你mt目录下面的所有的*.cgi程序运行在FastCGI下。
这个办法就简单了,编辑该目录下的 .htaccess 文件,添加如下语句
AddHandler fastcgi-script .cgi
当然前提是你的空间支持 .htaccess 文件和你的mt目录独立(即无其他cgi程序在里面,不然这些可能不支持FastCGI的程序也会工作在FastCGI下而导致程序运行异常或者apache崩溃)。
蜗牛一般的连接速度,我也算艰难的升级完了,就这个还是 SSH 下操作的结果。另外发现MT3.34的插件管理系统在FastCGI下有问题,大概是部分变量没有考虑在FastCGI下Glob变量的问题。
具体表现在你在插件系统中对插件进行停用/启用无法正常生效。
我最后的做法只好是点停用或者启用后立刻在SSH下touch一下程序,比较郁闷。
PS:说明下,在FastCGI下,你对程序的修改不会马上显示出来,你需要强制重载一次让程序在内存中更新(重新编译),命令如下:
touch path/to/mt/mt.fpl
今天来发现更新了好几篇文章。
我知道升级了单没有去看内容,在你这里才知道的。
我对FastCGI不太清楚啊。
本来想升的,看样子还是不升好了。
馬上就要升級了,回來溫習一下。
呃,發現cgi-bin目錄下的.cgi文件不知你表列出來的那些,例如還有mt-add-notify.cgi這樣的文件,這些要不要修改擴展名呢?
服务器不支持fastcgi
我不会装mod_fastcgi(听说mod_fcgid更好点,也不会装)也找不到安装步骤的说明文章,吐了@_@
你好路杨最近在dreamhost上我发现个问题.每次只要有tags的文章.按下save就会失去响应.左边文章按进去.刚才的文章有的.去掉tags就能保存并且生html.这是什么情况!?!很想能得到帮助啊.
照你的方法改了, 只是将mv命令换成cp而已.
leavic兄。可改可不改的:)
Nickzhuo兄: 似乎和服务器有关的。
anysql兄: 其实都是一样了。 :P