1

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

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

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

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

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

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

4

2 回答 2

1

答案很复杂,因为目前有两个主要的 Immutant 版本分支:1.x 和 2.x。1.x 比 2.x 需要更多的资源,但是 2.x 还没有正式发布(虽然增量版本是可用的)。

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

在 2.x 中,事情变得更简单了,因为没有部署描述符。一切都作为一个选项传递给immutant.web/run

于 2014-07-13T03:24:17.243 回答
0

你能用你到目前为止的东西发布一个小例子吗?

似乎您可以通过以下:host选项实现它runhttps ://projectodd.ci.cloudbees.com/job/immutant2-incremental/lastSuccessfulBuild/artifact/target/apidocs/immutant.web.html

于 2014-07-13T01:30:34.473 回答