2014-07-12 22 views
1

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

所以说,我可以有多个环的应用提供一个immutant但我/我应该有一个immutant运行两个独立的网站:site1.comsite2.com

这个上下文路径被认为是顶级的上下文路径 - 你必须 到处理程序绑定到将顶级路径中嵌套 子上下文路径的选项。在处理请求之前,完整上下文将从url的 路径中剥离,上下文和其余 路径信息分别通过 :context和:path-info键作为请求映射的一部分提供。

这听起来像我可以有一个应用程序运行在site1.com/context1site1.com/context2但不是两个单独的域。

我问这个问题的原因是因为不死我占用了很多服务器资源,所以我不确定我是否可以运行两个不成功的服务器。正确的问题可能是我如何提高我的不变表现? (我没有任何好处与服务器/部署。)

来源:http://immutant.org/documentation/0.1.0/web.html

+0

您链接的文档非常陈旧。当前版本是1.1.3:http://immutant.org/documentation/1.1.3/web.html – jcrossley3

回答

1

答案是由一个事实,即目前有两个主要的Immutant版本分支复杂:1.x和2.x版本1.x需要比2.x更多的资源,但2.x尚未正式发布(尽管incremental releases are available)。

这两个版本都支持以各种虚拟主机组合的方式安装Ring应用程序,例如, site1.com和上下文路径,例如/ CONTEXT1。在Immutant 1.x中,虚拟主机设置位于您的deployment descriptor中,就像整个项目的context-path一样。这有点令人困惑,因为你可以在启动Ring处理程序时指定一个:context-path。传递给immutant.web/start的那个相对于部署描述符中设置的那个被解析,这就是为什么它在文档中被称为“子上下文路径”的原因。

在2.x中,事情比较简单,因为没有部署描述符。一切都作为immutant.web/run的选项通过。

+0

清理好的东西。我很喜欢你关于不断REPL为基础的发展的谈话,这大大帮助我开始。我仍然感觉到周围的事情,需要花时间与手册亲密一些。 – deadghost

+0

很高兴你喜欢这个话题!如果遇到其他问题,请在freenode irc上放置#immutant以获得最快响应。祝你好运! – jcrossley3

0

你能后你有什么到目前为止一个小例子吗?

好像你可以用它实现的:host选项runhttps://projectodd.ci.cloudbees.com/job/immutant2-incremental/lastSuccessfulBuild/artifact/target/apidocs/immutant.web.html

+0

:host选项确定Web套接字绑定的接口,但该选项在Immutant中不可用1.x,我认为这是OP使用的版本。在1.x中,您可以将-b选项传递给启动脚本。但是我认为OP正在询问“基于名称的虚拟主机”,所以也不例外:主机和-b都适用于此。 – jcrossley3