2010-11-16 24 views
0

我最近開發了一個catalyst應用程序,我現在想部署。 我的主機(OVH)允許通過mod_cgi的perl應用程序。 不幸的是,我習慣在mod_perl上運行我的催化劑應用程序。 我對mod_cgi沒有任何經驗,我似乎無法找到關於如何讓我的催化劑應用程序在mod_cgi上運行的良好文檔。Catalyst + mod_cgi

你們有些人可以幫我一把嗎? 您有沒有人曾經在OVH的服務上運行催化劑應用程序?

感謝, LDX

+0

只是mod_cgi一樣,不是的mod_fastcgi? – ysth 2010-11-16 09:13:36

+0

不,只是mod_cgi。 – ldx 2010-11-16 09:40:45

+1

沒有什麼困難的,但要爲頁面點擊做好準備,對於非常簡單的應用程序需要幾秒鐘,對於複雜的應用程序可能需要10秒鐘。催化劑不是*旨在非持續運行。 – hobbs 2010-11-16 12:21:16

回答

2

Catalyst::Engine::CGI是你必須要看的基本模塊。如果你的Catalyst代碼是後端不可知的,你應該能夠將它放在你的基本應用程序中,創建一個CGI文件,通過它你可以運行整個應用程序,這一切都將起作用。

儘管CGI環境會比fastcgi甚至mod_perl慢得多。

+0

謝謝,這已經很有幫助。任何關於如何創建這樣一個CGI文件的指針? – ldx 2010-11-16 09:41:51

+0

閱讀鏈接?它在簡介中... – mfontani 2010-11-16 12:50:56

3

catalyst.pl創建CGI程序。

Foo-Bar> cd .. 
> catalyst.pl -scripts Foo::Bar 
> ls Foo-Bar/scripts/ 

爲催化劑5.8,Foo-Bar/scripts/foo_bar_cgi.pl排除POD的代碼如下所示:

#!/usr/bin/env perl 
use Catalyst::ScriptRunner; 
Catalyst::ScriptRunner->run('Foo::Bar', 'CGI'); 

1;