【发布时间】:2013-05-13 20:00:48
【问题描述】:
注意
下面的问题与SO post类似,但两年后我问的问题略有不同。
是否可以运行 Clojure 程序,例如从 lein new noir 创建的程序,或者期望在不运行 Tomcat 或无需安装 Jetty 服务器的情况下从 Apache 处理 httpd 的程序,就像 Perl 程序可以使用 mod_perl 和 Python 运行一样程序最常使用 mod_wsgi 运行?
我是否错过了重点,因为 Clojure Web 应用程序的行为更像 Java servlet,需要与 JSP 类似的处理方式?
我之所以问这个问题,是因为我已经设置和配置了一个完整的 Apache 系统,并且想要将 Clojure Web 应用程序引入该环境的最简单方法。
【问题讨论】:
-
为什么这被否决了?对我来说似乎是一个足够合理的问题。
-
这是一个有点奇怪的问题。您能否更详细地了解 Clojure 程序的含义?您可以使用 任何 语言编写代码,通过 CGI 与 Apache 集成(我曾经写过一个用 bash 编写的状态控制台……)。但是,如果您的意思是作为标准“webapp”构建的 Clojure 程序,带有 Servlet 等,作者希望将其部署在 Web 容器中,那么这个问题的答案与我们是否相同只是在谈论 Java?
-
(我相信“在没有 web 容器的情况下运行 Servlet”的答案是,不。你必须编写一堆胶水代码,最终你基本上会重新发明 web 容器。 ..)
-
使用正常的 apache 模块设置 iirc,程序会针对每个请求重新运行。这与 JVM 启动时间不符。这应该是可能的,但实际上,您必须做一些变通才能避免较长的页面加载延迟、糟糕的资源使用和糟糕的整体性能。
-
@SCdF 编辑了 OP 和标题。