1

到目前为止,我已经测试了 hunchentoot-cgi(CL)、maytpd2(Haskell)、ocsigen(OCaml)、yaws(erlang) 来托管旧的 python CGI 应用程序。除了hunchentoot-cgi,一切都很好。我喜欢 Lisp 风格的编程,所以我真的很想将应用程序托管在 Lisp 风格的 Web 服务器中。

在erlang中,我只需要如下配置它:

>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>
...

然后 python CGI 应用程序可以工作。

Noir/Ring怎么样?

4

1 回答 1

2

Ring(以及因此,Noir)并不是您所想的那种网络服务器。它是一个用于创建 Web 应用程序的框架。它不提供对外部应用程序的访问;相反,它允许您在 Clojure 中编写自己的动态 Web 应用程序。然后可以将这些应用程序部署到标准 Java servlet 容器或使用嵌入式 Jetty Web 服务器手动运行。

当然可以创建这样的 Web 应用程序,它会获取外部 CGI 程序的输出,对其进行处理并将结果提供给客户端,但是您必须自己编写所有 CGI 处理(例如解析 HTTP 标头并构建标准 Ring响应图)。据我所知,环形堆栈没有 CGI 包装器。

于 2012-09-10T07:28:12.347 回答