Clojure 如何托管CGI应用程序?
到目前为止,我已经测试了hunchentoot cgi(CL)、mighttpd2(Haskell)、ocsigen(OCaml)、yaws(erlang)来承载一个旧的python cgi应用程序。除了hunchentoot cgi,所有的工作都很棒。我喜欢Lisp风格的编程,所以我真的希望在Lisp风格的web服务器中托管应用程序 在erlang中,我只需要如下配置它:Clojure 如何托管CGI应用程序?,clojure,ring,noir,Clojure,Ring,Noir,到目前为止,我已经测试了hunchentoot cgi(CL)、mighttpd2(Haskell)、ocsigen(OCaml)、yaws(erlang)来承载一个旧的python cgi应用程序。除了hunchentoot cgi,所有的工作都很棒。我喜欢Lisp风格的编程,所以我真的希望在Lisp风格的web服务器中托管应用程序 在erlang中,我只需要如下配置它: >cat ~/yaws.conf ... <server 192.168.1.2> port =
>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>
...
>cat~/yaws.conf
...
端口=8000
听=0.0.0.0
docroot=/media/G/www/qachina/
访问日志=false
appmods=
...
然后python CGI应用程序就可以工作了
Noir/Ring怎么样?Ring(因此,Noir)并不是您想象中的web服务器。它是一个用于创建web应用程序的框架。它不提供对外部应用程序的访问;相反,它允许您在Clojure中编写自己的动态web应用程序。然后,可以将这些应用程序部署到标准Javaservlet容器中,或者使用嵌入式JettyWeb服务器手动运行
当然,可以创建这样的web应用程序,该应用程序将获取外部CGI程序的输出,对其进行处理并将结果提供给客户端,但您必须自己编写所有CGI处理(例如,解析HTTP头并构造标准环响应映射)。据我所知,环堆栈没有CGI包装