什麼是FastCGI
簡單地說, FastCGI應用程序就像應用程序一樣進行操作,不像 CGI應用程序,它始終處於
活動狀態併爲來自 Web服務器的請求提供服務。也就是說,每次處理時,它不必花費啓動新進程和程序初始化的開銷。
Apache如何支持 FastCGI
Apache可以通過兩種方法來支持 FastCGI
1) 在Apache服務器中添加 mod_fastcgi.c模塊來支持。
2) 使用cgi-fcgi的傳統CGI應用程序運行 FastCGI應用程序。
第2種方法只是形式上的實現,無法獲得 FastCGI的優點,所以強烈建議使用第 1種方法實
現。
3. 重新編譯 Apache以支持FastCGI
1) 獲取Apache最新的 FastCGI模塊:文件名是 mod_fastcgi.c,可以到 www.fastcgi.com中下
載。
2) 將模塊文件拷貝到 Apache的源程序目錄下 src/modules/standard子目錄中。
3) 修 改 s r c目 錄 下 的 編 譯 配 置 文 件 C o n f i g u r a t i o n, 添 加 一 行 : A d d M o d u l e
modules/standard/mod_fastcgi.o。
4) 運行“./configure”。
5) 運行make。
6) 運行make install。
這樣就會在源程序目錄下生成一個新的“ httpd”程序,用這個新的程序替掉原來的程序就
完成了整個過程。
4. 配置實例
完成上面的過程後,到 www.fastcgi.org下載FastCGI開發人員工具集 FastCGI Developer's Kit,
放入/usr/local/fastcgi目錄下(目錄可選)。需要對 httpd.conf文件做相應的修改,爲安全起見,建
議在修改之前備份原來的配置文件。下面是一個配置例子
ResourceConfig /dev/null
AccessConfig /dev/null
# 用於User命令的用戶名稱
User FastCGI_User
# 用於Group命令的組名稱
Group FastCGI_Group
StartServers 1
MinSpareServers 1
MaxSpareServers 1
ServerRoot /usr/local/etc/httpd
ErrorLog logs/error.log
TransferLog logs/access.log
AppClass /usr/local/fastcgi/examples/echo -initial -env SOMETHING=NOTHING
<Location /examples/echo>
SetHandler fastcgi-script
</Location>
AppClass /usr/local/fastcgi/examples/echo.fcg -port 8978
<Location /examples/echo.fcg
SetHandler fastcgi-script
</Location>
<Location /example/remote-echo>
SetHandler fastcgi-script
</Location>
注意 在此只列出了與 FastCGI有關配置,請根據這個修改 httpd.conf文件