【问题标题】:Will a Lisp dialect that works with Apache Tomcat?将与 Apache Tomcat 一起使用的 Lisp 方言吗?
【发布时间】:2010-11-03 23:45:28
【问题描述】:

是否有像 Apache Tomcat 这样的应用程序服务器可以与 Lisp 类似的 Web 语言一起使用?

我最近玩了一点 Arc/Anarki 和 Clojure。但我真正想念的是 Apache 的 mod_arc 或 mod_clojure 之类的东西。我真正怀念的是 Lispy 网络语言的良好 Apache 集成。

Arc 和 Clojure 都使用您在代码中启动的自己的内置网络服务器。我想要 Apache httpd 为我提供的所有功能、弹性和可扩展性。有人在为 Arc 或 Clojure 开发 Apache 模块吗?我可以在 Apache 中使用另一种类似 Lisp 的语言吗?

我有 PHP 和 Perl 的背景。但在 C 和 /bin/sh 方面也有很多经验。自从我开始编写 Web 应用程序以来,我一直在使用 cgi-bin 和 stdin 来转换 C 二进制文件。

【问题讨论】:

    标签: apache tomcat clojure lisp


    【解决方案1】:

    为什么不使用 CGI?

    【讨论】:

      【解决方案2】:

      也许mod_lisp 会起作用?

      【讨论】:

        【解决方案3】:

        Clojure 是一种 JVM 语言,因此您应该能够像设置任何其他 Java 应用程序一样对其进行设置。

        【讨论】:

          【解决方案4】:

          Hunchentoot,Common Lisp 中的网络服务器,也可以通过 mod_lisp2 在 Apache 后面使用。

          【讨论】:

          • 这几乎是 Lisp Web 部署的标准解决方案; Hunchentoot 使用 Apache/Nginx/Lighttp/what-have-you 在前面运行应用程序,处理静态内容/SSL 证书。
          【解决方案5】:

          使用ClojureCompojure,您可以生成可以部署在几乎任何Java EE 网络服务器(Jetty、Tomcat 等)中的WAR 存档。

          【讨论】:

            【解决方案6】:

            您可以设置在某个端口上运行的 Clojure/Java HTTP 服务器(Jetty 等),然后使用 Apache 的 mod_proxy 将某些请求从 Apache 转发到该端口上的 Clojure。在你的 Apache 配置中是这样的:

                ProxyPass /static !
                ProxyPass /cgi-bin !
                ProxyPass / http://localhost:8080/
                ProxyPassReverse / http://localhost:8080/
            

            因此,Apache 将在端口 8080 上将每个请求发送到您的 Clojure 应用程序,除了对 /static/cgi-bin 中事物的请求,Apache 将自行处理。

            【讨论】:

            • 感谢您的直截了当的回答。我可以试试这个作为实验。
            猜你喜欢
            • 2018-04-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-07-21
            • 1970-01-01
            • 2021-11-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多