2012-09-10 54 views
1

到目前爲止,我已經測試了hunchentoot-cgi(CL),mighttpd2(Haskell),ocsigen(OCaml),yaws(erlang)來承載一個老的python CGI應用程序。除了hunchentoot-cgi之外,所有工作都很好。我喜歡Lisp風格的編程,所以我真的想在Lisp風格的Web服務器上託管應用程序。如何承載CGI應用程序?

二郎,我只需要如下的配置吧:

>cat ~/yaws.conf 
... 
<server 192.168.1.2> 
    port = 8000 
    listen = 0.0.0.0 
    docroot = /media/G/www/qachina/ 
    access_log = false 
    appmods = <cgi-bin, yaws_appmod_cgi> 
</server> 
... 

然後蟒蛇CGI程序就可以。

Noir/Ring怎麼樣?

回答

2

因爲你似乎認爲環(和因此Noir)不是一個Web服務器。它是創建Web應用程序的框架。它不提供對外部應用程序的訪問;相反,它允許您在Clojure中編寫自己的動態Web應用程序。然後,可以將這些應用程序部署到標準Java Servlet容器或使用嵌入式Jetty Web服務器手動運行。

當然可以創建這樣的web應用程序,它將獲取外部CGI程序的輸出,處理它並將結果提供給客戶端,但是必須自己編寫所有CGI處理(例如,解析HTTP標頭並構建標準的環響應圖)。據我所知,Ring堆棧沒有CGI包裝。