开源中文网

您的位置: 首页 > Linux应用 > Resin > 正文

在同一台机器上运行多个Resin实例

来源:  作者:

本文特指 Resin 3.1.x 版本,这个版本跟以前的有很大的不同,特别是在配置上。

/httpd.sh -server b -conf /opt/resin_competence/conf/resin.conf start
 
指定resin home是-resin-home xxx
 

另一种同台电脑上运行了两个Resin实例,多于两个Resin同此理。尽管此方法不一定是Resin习惯的做法,但至少可以运行了。

通过在给Resin配置中的server节点指定一个id属性值,例如此值为s1,那么我们需要在启动Resin的命令行中增加参数 -server s1,这就是Resin的做法。假设在一台机器上启动了两个 Resin 实例,那么实际上系统会有三个Java进程,其中一个是Resin的监控、管理进程,另外两个当然是独立的两个不同Resin实例。一个简单配置 :

<resin xmlns="http://caucho.com/ns/resin" 
       xmlns:resin="http://caucho.com/ns/resin/core"> 
 
  <log name="" level="info" path="stdout:"/> 
  <resin:import path="${resin.home}/conf/app-default.xml"/> 
 
  <cluster id="dlog"> 
    <server-default> 
      <jvm-arg>-Xmx2048m</jvm-arg> 
      <jvm-arg>-Xss1m</jvm-arg> 
      <jvm-arg>-server</jvm-arg> 
    </sever-default> 
     
    <server id="s1" port="6801"> 
      <http id="" port="8081"/> 
    </server> 
    <server id="s2" port="6802"> 
      <http id="" port="8082"/> 
    </server> 
 
    <host id="" root-directory="."> 
      <web-app id="/" root-directory="/opt/dlog" redeploy-mode='manual'/> 
    </host> 
  </cluster> 
</resin>
 

上面这个配置中,定义了两个server分别运行在 8081 和 8082 端口上,它们共享 server-default 中的配置,同时这两个server都配置了一个web应用是 /opt/dlog 这个目录。当然,如果你在一个机器上运行多个 Resin 是为了运行不同的应用,那你可以将 host 节点直接写在对应的 http 节点下,例如:

<server id="s1"> 
   <http id="" port="8082"> 
      <host id="" root-directory="."> 
        <web-app id="/" root-directory="/opt/dlog" redeploy-mode='manual'/> 
      </host>
   </http>
</server>


一旦定义好配置了,下面就要启动这两个 Resin 的实例了,在 Linux 下可以这样启动这两个 Resin 实例:

$/opt/resin1/bin/httpd.sh -server s1 start
$/opt/resin1/bin/httpd.sh -server s2 start


如果你想让Resin在系统启动的时候自动运行,那必须修改一下 httpd.sh 写死-server 的参数。
Resin 就是这样一种架构,要跑多个 Resin 并不需要拷贝多份 Resin 的文件,全部通过配置和命令行来操作。

Tags:实例 多个 机器
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明