[ZT]在FastCGI下运行Movabletype(apache)

以前一直是在自己的机器(Win+Apache)下,现在换服务器了,FastCGI有了些变化,参考了一下这篇文章提供的设置方法,直接改了.htaccess
———————————————————————–
1月17日MovableType 3.34正式发布了,新功能如下:
修复了重要的潜在风险XSS缺陷
使FastCGI功能更易用,性能增长15倍
其中XSS缺陷得到修正,因此Six Apart鼓励所有MT用户进行升级。并且MT3.34会根据服务器的环境自动启用FastCGI,你仅需要简单的设置下mt-config.cgi,而不在需要手动修改程序。
同时集合FastCGI能让MT更能体现优势:


提升应用程序性能 – FastCGI能提升15倍的性能,性能提升如此之大是因为程序会被缓存在内存中,减少了页面加载和数据库访问时间。
提升评论系统性能 – Movable Type会把所有的评论都存入数据库以便用户自己去决定要不要审批这些评论。因此处理评论的时间是提升性能的一个重要因素。
提升程序可靠性 – MT应用程序中加载一个页面需要更少的资源,减少了网络流量和数据库负载,服务器的资源可以更多的留给其它程序或组件使用。
提升系统在Spam攻击下的恢复力 – 当blog遭受spam的攻击时,系统会加载很多资源。系统会把所有的评论都保留下来以便用户区分这到底是不是spam。在FaseCGI方式下,MT在内存中运行而降低了网络流量和数据库负载,因而评论的处理速度会被很快。
下面我们来将将在FastCgi下如何运行MT
首先确定服务器上安装有FastCGI?最简单的方法就是询问服务器提供商。或者
Try it and find out
Add the following code to an .htaccess file in your MT directory:

FastCgiIpcDir /tmp/fcgi_ipc/
AddHandler fastcgi-script .fcgi
FastCGIConfig -autoUpdate -idle-timeout 120 -killInterval 3600 -maxClassProcesses 6 -maxProcesses 15

Then create a [HelloWorld.fcgi] file and see if it loads properly. If it does, FastCGI is installed. Any other error and it probably isn’t.
如果服务器已经安装了FASTCGI,你可以叫ISP将所有后缀为.cgi的文件在Apache中设置为通过Fastcgi运行。这样的话,不用任何设置,你的MT就已经运行在FastCGI环境中了。
但有些管理员可能不愿意将全局设置都改成这样,因为可能存在某些cgi程序在FashCGI下运行不正常。如果是这样,你就得手动设置你的MT了。如:Dreamhost
FastCGI模式下的脚本程序文件默认是*.fcgi或者*.fpl。
但是这个不是绝对的,你可以通过编辑 httpd.conf 或者 .htaccess来定义扩展名。
具体语法是:
AddHandler fastcgi-script .fcgi .fpl
对于DreamHost,只要开启了FastCGI模式,.fcgi .fpl 已经是默认的了。
因此你需要对MT进行修改,有两种办法可以设置:
1、第一种:
第一步,将所有后缀为.cgi的文件统统更名成.fcgi或.fpl后缀(除了mt-config.cgi)。如:
mt.cgi 改为 mt.fcgi,mt-comments.cgi becomes mt-comments.fpl
mt-search.cgi 改为 mt-search.fcgi
第二步,在改名后的mt-config.fcgi中找到如下设置:
AdminScript mt.cgi
CommentScript mt-comments.cgi
TrackbackScript mt-tb.cgi
SearchScript mt-search.cgi
ViewScript mt-view.cgi
将其改为(或者添加):
AdminScript mt.fcgi
CommentScript mt-comments.fcgi
TrackbackScript mt-tb.fcgi
SearchScript mt-search.fcgi
ViewScript mt-view.fcgi
2、第二种,强制你mt目录下面的所有的*.cgi程序运行在FastCGI下。
这个办法就简单了,编辑该目录下的 .htaccess 文件,添加如下语句
AddHandler fastcgi-script .cgi
当然前提是你的空间支持 .htaccess 文件和你的mt目录独立(即无其他cgi程序在里面,不然这些可能不支持FastCGI的程序也会工作在FastCGI下而导致程序运行异常或者apache崩溃)。
PS:说明下,在FastCGI下,你对程序的修改不会马上显示出来,你需要强制重载一次让程序在内存中更新(重新编译),命令如下:
touch path/to/mt/mt.fpl

博主友情提示:

如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用>>博主专用加密工具v3<<处理后发布,原文只有博主可以看到。