2010-06-07 24 views
2

我有一個Perl的FastCGI的Web應用程序(使用CGI::Fast寫的,但不應該的問題),我想在FastCGI的模式測試測試腳本的FastCGI在Perl中使用Perl的獨立的FastCGI/FCGI Web服務器

我可以使用什麼Perl模塊來運行FastCGI應用程序(模塊應該從CPAN安裝,如果不使用額外的庫,最好),以便我可以指向例如Web瀏覽器。到http://localhost:5000檢查它是否正常工作?

更好,是否有一些Test :: *模塊允許自動測試FastCGI應用程序,因爲FastCGI應用程序?


新增2010年6月7日:
它看起來像有Perl中沒有獨立的FastCGI的服務器;或者至少我沒有找到一個。我發現CPAN上的FCGI/FastCGI相關模塊是關於編寫FastCGI應用程序或連接到現有FastCGI服務器的。

+0

我工作的一個FastCGI的實施C.它設計爲可中斷的解析器(實施使用FSM)與異步服務器模型的使用,所以它本身不執行任何I/O。它可以很容易地集成到任何服務器或程序模型中。它提供了電線兩側的需求。隨意[檢查出來](https://github.com/AndreLouisCaron/cfcgi)。 – 2011-10-30 22:44:22

回答

3

我不知道一個模塊可以讓你專門測試Fast CGI應用程序。要進行測試運行快速CGI腳本,同時發展我通常設置了這樣一個小的lighttpd服務器:

$HTTP["url"] =~ "^/[^/]*$" { 
    fastcgi.server = (
     "/" => ((
      "socket" => "/tmp/myapp.sock", 
      "bin-path" => "/path/to/my/fastcgi/script.pl", 
      "check-local" => "disable", 
      "allow-x-send-file" => "enable", 
     )), 
    ) 
} 

# Use this if you also want to serve static files directly (not through your CGI app). 
$HTTP["url"] =~ "^/static/.*$" { 
    url.rewrite-once = ("^/static/\(.*\)$" => "static/$1") 
} 

您可能還需要設置端口5000或任何大於1024,因此您可以爲用戶運行它。將文件保存在您的項目目錄並運行lighttpd的是這樣的:

/usr/sbin/lighttpd -f lighttpd.conf -D 
+0

開始的lighttpd這樣 的lighttpd -f config.cnf -D 我需要這些行添加到上面針對完全獨立的lighttpd的CONF: server.document根= 「/無功/網絡/」 server.port = 8082 server.errorlog =「error.log」 static-file.exclude-extensions =(「.php」,「.pl」,「.fcgi」) server.modules + =(「mod_fastcgi」) – h4ck3rm1k3 2011-11-19 14:42:25

+0

checked in這裏的示例https://github.com/h4ck3rm1k3/fluxflex-perl-example/blob/master/lighttpd/config.cnf – h4ck3rm1k3 2011-11-19 14:55:37

相關問題