www.apache.orgFast-CGI 是將程式預先載入記憶體裡面,讓程式在讀取時不用再有I/O的動作。所以執行效能大概可以提升15~20%(真的很快)。所以如果你有CGI的程式推薦一 定要裝Fast-CGI 。甚至PHP如果裝CGI版本,也可以透過Fast-CGI大大提升PHP的效能。像MT(Movable Type)的後台就是CGI的程式,所以搭著Fast-CGI,讓MT(Movable Type)真的快很多。

這次要敎大家如何在Apache 2(Linux)上安裝Fast-CGI 。

首先到Fast-CGI下在最新的檔案。目前Fast-CGI只到 2.4.6版,所以先下載mod_fastcgi-2.4.6.tar.gz

# wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
# tar vfxz mod_fastcgi-2.4.6.tar.gz
# cd mod_fastcgi-2.4.6
# cp Makefile.AP2 Makefile
# make
# make install
PS.如果您的Apache2不是安裝在/usr/local/apache2,make的方式要改成
# make top_dir=安裝路徑
# make top_dir=安裝路徑 install


安裝完Fast-CGI後,接下來要安裝FCGI的Perl 模組。可以到CPAN下載最新的FCGI-0.67.tar.gz

# wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.67.tar.gz
# tar vfxz FCGI-0.67.tar.gz
# cd FCGI-0.67
# perl Makefile.PL
# make
# make install

這兩各套件裝完後,基本上已經大功告成了。現在就只差設定的部份。

首先要在Apache的設定檔http.conf增加下列幾行。

LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
FastCgiIpcDir /tmp/fcgi_ipc/
FastCGIConfig -autoUpdate -idle-timeout 60 -killInterval 3600 -maxClassProcesses 6 -maxProcesses 15
</IfModule>

由於筆者只希望MT的後台程式才使用到Fast-CGI,其他都保持現行機制,所以利用.htaccess來達到此機制。
在MT的後台程式放置路徑中,修改.htaccess(如果沒有請自行創建),並在文件內加上:

<IfModule mod_fastcgi.c>
#目錄下的程式都利用Fast-CGI來處理
SetHandler fastcgi-script
</IfModule>

當然也可以讓整各伺服器的cgi程式都用Fast-CGI運行,那就必須更改Apache2安裝目錄下./conf/http.conf的檔案。把

#AddHandler cgi-script .cgi

加上
#AddHandler cgi-script .cgi
AddHandler fastcgi-script .cgi

重啟Apache2,就可以了。

大功告成。你可以試試看你的MT後台是否變快了呢!

PS.提醒用戶:由於Fast-CGI是先把程式預載到記憶體,所以當如果mt.cgi有修改時,不會馬上作用喔。必需等動態載入的時效過了或是重啟Apache才會有作用。

想研究更進階Fast-CGI設定,可參考此文件
相關資訊:Running Movable Type with FastCGI" target

arrow
arrow
    全站熱搜

    alex0126 發表在 痞客邦 留言(1) 人氣()