我设置了一个Apache2网络服务器运行多个红宝石在轨道上网的应用带我乘客。我知道乘客造成了红宝石的进程处理的请求。我有以下问题:

  • 如果多于一个请求有待处理的同时,将乘客的产卵多个进程或多个(红宝石)的线?我该如何配置,以便它始终产生单螺纹过程?
  • 如果我有两个轨道应用程序,想象一下,一个请求程序的一个去处理1,后来要求的应用程序B到达。它可能是这一进程的1将处理这个请求?何时以及如何为这可能吗?换句话说,是一个进程中,允许处理请求的多个轨道应用程序?
  • 我有同样的轨道应用程序导出在多个网址和一个虚拟的主机(例如,http://和http://).将同样的过程中能够服务于不同的虚拟的主机?(这个问题的答案似乎是肯定的,我已经设置一个全球性的变量在回答请求的虚拟主持,我能够检索该数值在虚拟机B)
有帮助吗?

解决方案

一般而言,乘客造成了新的程序通过分叉的一个ApplicationSpawner,其中有的框架和应用程序代码预先加载到存储器,或FrameworkSpawner,这只是该框架的代码。

乘客,为我所知道的,不处理在线程。相反,作为负荷增加的申请,它将叉,应用程序的ApplicationSpawner和初始化的另一个实例。当负载减少,一个或多个应用程序的实例是被杀掉。

如果乘客配置以某种方式(我认为,通过选择"聪明"产生法),它将创造一个FrameworkSpawner,其中载荷的轨代码,但是没有应用程序的代码,然后可以将分叉的装载和应用使用该版本的轨道。

所以回答你的问题:

  • 它将为他们提供服务的顺序,那么产生额外的程序,如果它决定的负荷是不够高。

  • 没有。一个过程只能属于一个单一轨道应用程序。

  • 我有点粗略在这一个,但你的实验有意义的。乘客应该是足够的智慧想出,虽然它的运行,从不同的地方,在服务器的配置,你在谈论同一个应用程序。这可能是基于对应用程序的文件系统的道路。

编辑:我去读了这一点。原来我是多数是正确的,但技术细节是有点关闭。看看 客运的文件

其他提示

是啊,伯克是正确的。在情况下的第三个问题,我乘客认识到应用程序通过他们的应用程序的根路径。所以即使你有两个虚拟的主,如果他们都指向同一DocumentRoot然后我乘客认为他们是相同的应用程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top