Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 一个immutant上有多个环站点?_Clojure_Ring_Immutant - Fatal编程技术网

Clojure 一个immutant上有多个环站点?

Clojure 一个immutant上有多个环站点?,clojure,ring,immutant,Clojure,Ring,Immutant,Immutant允许应用程序通过Ring响应web请求 处理程序。每个应用程序都可以动态注册任意数量的 处理程序,每个处理程序具有唯一的上下文路径。这使您可以 共享同一部署生命周期的多个环形网络应用程序 所以它说我可以在一个immutant上运行多个Ring应用程序,但是我可以/应该在一个immutant上运行两个独立的网站:site1.com和site2.com 此上下文路径被视为顶级上下文路径-您有 将处理程序绑定到将嵌套的子上下文路径的选项 在顶级路径中。完整的上下文将从url的 处理请求

Immutant允许应用程序通过Ring响应web请求 处理程序。每个应用程序都可以动态注册任意数量的 处理程序,每个处理程序具有唯一的上下文路径。这使您可以 共享同一部署生命周期的多个环形网络应用程序

所以它说我可以在一个immutant上运行多个Ring应用程序,但是我可以/应该在一个immutant上运行两个独立的网站:
site1.com
site2.com

此上下文路径被视为顶级上下文路径-您有 将处理程序绑定到将嵌套的子上下文路径的选项 在顶级路径中。完整的上下文将从url的 处理请求之前的路径,以及上下文和剩余 路径信息作为请求映射的一部分通过 :context和:path info键

听起来我可以让一个应用程序在
site1.com/context1
site1.com/context2
上运行,但不需要两个独立的域

我之所以这么问是因为immutant占用了我大量的服务器资源,所以我不确定是否可以运行两个immutant。正确的问题可能是如何提高immutant的性能?(我不擅长服务器/部署。)


资料来源:

你能举一个小例子来说明你目前的情况吗


您似乎可以通过
:host
选项
运行

来实现这一点。答案很复杂,因为目前有两个主要的不变版本分支:1.x和2.x。1.x需要比2.x多得多的资源,但2.x尚未正式发布(尽管如此)

这两个版本都支持在虚拟主机(如site1.com)和上下文路径(如/context1)的不同组合上安装环应用程序。在Immutant 1.x中,:virtual host设置与整个项目的:context路径一样位于您的中。这有点令人困惑,因为在启动环处理程序时还可以指定:context路径。传递给的路径是相对于部署描述符中设置的路径进行解析的,这就是为什么它在文档中被称为“子上下文路径”


在2.x中,事情更简单,因为没有部署描述符。所有内容都作为选项传递给。

您链接到的文档非常旧。当前版本是1.1.3:host选项确定绑定web套接字的接口,但该选项在Immutant 1.x中不可用,我认为这是OP使用的版本。在1.x中,您将把-b选项传递给启动脚本。但我认为OP询问的是“基于名称的虚拟主机”,因此:host和-b都不适用于这里。请立即澄清。我很喜欢你们关于基于immutant REPL的开发的演讲,它极大地帮助了我开始学习。我仍在感觉周围的事物,需要花一些时间与手册亲密接触。很高兴你喜欢这次谈话!如果遇到其他问题,请访问freenode irc上的#immutant以获得最快的响应。祝你好运