我在Debian Lenny機器上有2個不同的Web服務器。一個正在運行FastCGI(TRAC),另一個正在運行PHP和一些CGI腳本。所以我現在啓用了2個Apache2模塊(cgi和fcgi)和2個虛擬主機。對於這兩個模塊同時運行,我沒有其他特別的興趣。Perl CGI或CGI :: Fast在Debian Lenny上的Apache 2.2下
所以我想只保留Apache fastcgi模塊運行,因爲它看起來更有效率。
您能否確認以下評估是正確的還是正確的?
1 - 我會什麼都沒有做/更改爲TRAC網站(已運行FCGI)
2 - 我將不得不調整其他web服務器虛擬主機與一個處理程序被設置爲FastCGI的腳本
3-我會不得不改變perl模塊從「使用CGI」到「使用CGI :: Fast」
4-我將能夠保留perl現有的其他CGI腳本的其餘變化
5-我不需要在Web服務器腳本中使用CGI ::阿帕奇但CGI :: FastCGI的(I/O當前CGI模塊)
我希望我的觀點是明確的,因爲它是所有有點外國對我...
THX
編輯:
THX的提示,以函數naveed和J-16,
這裏是我做得到它的工作,如果它可以幫助別人:
哼哼,安裝CGI :: Fast與CPAN,然後它效果更好..
Debian上已安裝libperlperl -MCPAN -e shell cpan> install CGI::Fast
改變文件名從*的CGI到* .fcgi,
- 包含在由函數naveed下面勸while循環FastCGI的,
- 設置有關虛擬主機與FastCGI的正確處理程序阿帕奇(見fastcgi doc)
- 啓用了Apache的FastCGI模塊(a2enmod的FastCGI)和殘疾人CGI模塊,
- 檢查在Apache設置fastcgi.conf文件,
- 重新啓動Apache的,
- 檢查運行作爲FastCGI的一個Apache子過程(PS -afx)
- 修正了一些腳本的問題,已經在..但在運行時的FastCGI新出現的,如勸(通過檢查Apache日誌檢測到的錯誤),
編輯:適應文件上傳代碼爲初始腳本沒有工作了(還是不明白爲什麼),所以我不得不用這樣一個替換while循環:
open(FILE,">$upload_dir/$file_name") while ($bytes_count = read($file_query,$buffer,2096)) { $size += $bytes_count; print FILE $buffer; } close(FILE);
完成。
世界還不完美,但它終於有效。
此外,如果你未初始化的全局變量(啊)你的CGI繼電器,你可能要修復它.. – 2010-12-16 08:04:52
THX到你們兩個。 – hornetbzz 2010-12-17 00:25:07