`
baobeituping
  • 浏览: 1068613 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

一个Resin配置多个集群应用[linux环境]

阅读更多

主要原理:通过一个RESIN配置多个WEB应用,实际上也就是利用resin做分发,分别将请求分发到RESIN配置的多个端口,(每一个端口类似另外启动一个RESIN).

我用的是resin-pro-3.0.22_bl

假设现在配置:一个web-a 作为转发服务,然后配置两个app-a.sh和app-b.sh

web-a.sh

./bin/httpd.sh -conf ./conf/WebA.conf -server web-a -Xmn100M -Xms312M -Xmx512M -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true

红色部分表示运行的文件,然后加载/conf/WebA.conf文件

 

app-a.sh

./bin/httpd.sh -conf ./conf/APP-tier_log.conf -server app-a  -Xmn100M -Xms312M -Xmx512M  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true

 

红色加粗地方文件:

WebA.conf 系统的转发配置文件

<!--
   - Resin 3.0 configuration file.
  -->
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="http://caucho.com/ns/resin/core">
 <log name="" path="stdout:" timestamp="[%H:%M:%S.%s] "/>
 <logger name="com.caucho.java" level="config"/>
 <logger name="com.caucho.loader" level="config"/>
 <dependency-check-interval>2s</dependency-check-interval>
 <javac compiler="internal" args=""/>
 <thread-pool>
  <thread-max>2024</thread-max>
  <spare-thread-min>10</spare-thread-min>
 </thread-pool>
 <min-free-memory>1M</min-free-memory>
 <server>
  <class-loader>
   <tree-loader path="${resin.home}/lib"/>
   <tree-loader path="${server.root}/lib"/>
  </class-loader>
  <!-- Configures the keepalive -->
  <keepalive-max>1500</keepalive-max>
  <keepalive-timeout>120s</keepalive-timeout>
  <select-manager enable="true"/>
  <!-- listen to the http ports only after the server has started. -->
  <bind-ports-after-start/>
  <!-- The http port -->
  
  <http id="web-a" port="80"/>
  <!--该地方是配置将请求转发给下面配置的端口,一个端口类似启动一个RESIN服务器-->
  <cluster id="app-tier">
   <srun id="app-a" host='127.0.0.1' port='6808'/>
   <srun id="app-b" host='127.0.0.1' port='6809'/>  
   <srun id="app-c" host='127.0.0.1' port='6810'/>
   <srun id="app-d" host='127.0.0.1' port='6811'/>
   <srun id="app-e" host='127.0.0.1' port='6812'/>
  </cluster>

  <ignore-client-disconnect>true</ignore-client-disconnect>
  
  <cache path="cache" memory-size="118M"/>
  
  <web-app-default>
   <class-loader>
    <tree-loader path="${server.root}/ext-webapp"/>
   </class-loader>  
   <cache-mapping url-pattern="/" expires="5s"/>
   <cache-mapping url-pattern="*.gif" expires="60s"/>
   <cache-mapping url-pattern="*.jpg" expires="60s"/>
   <allow-servlet-el/>
  </web-app-default>
  
  <host-default>

 <!--配置的日志文件的路径-->
   <access-log path="/usr/local/workspace/boss/web/access.log"
       format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
          rollover-period="1h"/>
   <!--web-app-deploy path="webapps"/-->
   <ear-deploy path="deploy">
    <ear-default>
    </ear-default>
   </ear-deploy>
   <resource-deploy path="deploy"/>
   <web-app-deploy path="deploy"/>
  </host-default>
  
  <resin:import path="${resin.home}/conf/app-default.xml"/>
  
  <host-deploy path="hosts">
   <host-default>
    <resin:import path="host.xml" optional="true"/>
   </host-default>
  </host-deploy>
  
  <host id="">
   <class-loader>
    <compiling-loader path="/WEB-INF/classes"/>
    <library-loader path="/WEB-INF/lib"/>
   </class-loader>   
   <web-app id="">
       <servlet>
     <servlet-name>balance-a</servlet-name>
     <servlet-class>com.caucho.servlets.LoadBalanceServlet</servlet-class>
     <init cluster="app-tier"/>
    </servlet>
    <servlet-mapping url-pattern="/*" servlet-name="balance-a"/>
   </web-app>
  </host>
 </server>
</resin>

 

以上除了红色部分,其他部分采用默认配置

 

App-tier_log.conf

<!--
   - Resin 3.0 configuration file.
  -->
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="http://caucho.com/ns/resin/core">
 <log name="" path="stdout:" timestamp="[%H:%M:%S.%s] "/>
 <logger name="com.caucho.java" level="config"/>
 <logger name="com.caucho.loader" level="config"/>
 <dependency-check-interval>2s</dependency-check-interval>
 <javac compiler="internal" args=""/>
 <thread-pool>
  <thread-max>2024</thread-max>
  <spare-thread-min>10</spare-thread-min>
 </thread-pool>
 <min-free-memory>1M</min-free-memory>
 <server>
  <class-loader>
   <tree-loader path="${resin.home}/lib"/>
   <tree-loader path="${server.root}/lib"/>
  </class-loader>
  <!-- Configures the keepalive -->
  <keepalive-max>1500</keepalive-max>
  <keepalive-timeout>120s</keepalive-timeout>
  <select-manager enable="true"/>
  <!-- listen to the http ports only after the server has started. -->
  <bind-ports-after-start/>
  <!-- The http port -->
  <!--该部分对应的是app-a.sh中的 server后面的参数,表示匹配开启具体哪个应用-->
  <cluster id="app-tier">
   <srun id="app-a" host='127.0.0.1' port='6808'/>
   <srun id="app-b" host='127.0.0.1' port='6809'/> 
   <srun id="app-c" host='127.0.0.1' port='6810'/> 
   <srun id="app-d" host='127.0.0.1' port='6811'/>
   <srun id="app-e" host='127.0.0.1' port='6812'/>
  </cluster>
  
  <persistent-store type="cluster">
   <init path="cluster"/>
  </persistent-store>
  
  <ignore-client-disconnect>true</ignore-client-disconnect>
  
  <cache path="cache" memory-size="118M"/>
  
  <web-app-default>
   <class-loader>
    <tree-loader path="${server.root}/ext-webapp"/>
   </class-loader>  
   <cache-mapping url-pattern="/" expires="5s"/>
   <cache-mapping url-pattern="*.gif" expires="60s"/>
   <cache-mapping url-pattern="*.jpg" expires="60s"/>
   <allow-servlet-el/>
   <session-config>
    <!--enable-url-rewriting>false</enable-url-rewriting-->
    <!--use-persistent-store/-->
    <!--always-save-session/-->
        <session-max>4096</session-max>  
        <session-timeout>300</session-timeout>  
        <enable-cookies>true</enable-cookies>  
        <enable-url-rewriting>true</enable-url-rewriting>  
        <use-persistent-store>WEB-INF/sessions</use-persistent-store>
   </session-config>
  </web-app-default>
  

<!--访问日志文件信息-->
  <host-default>
   <access-log path="/usr/local/workspace/boss/web/access.log"
       format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
          rollover-period="1h"/>
   <!--web-app-deploy path="webapps"/-->
   <ear-deploy path="deploy">
    <ear-default>
    </ear-default>
   </ear-deploy>
   <resource-deploy path="deploy"/>
   <web-app-deploy path="deploy"/>
  </host-default>
  
  <resin:import path="${resin.home}/conf/app-default.xml"/>
  
  <host-deploy path="hosts">
   <host-default>
    <resin:import path="host.xml" optional="true"/>
   </host-default>
  </host-deploy>
  <!--项目应用目录文件-->
  <host id="" root-directory="/usr/local/workspace/boss/web">

<!--控制台访问文件信息-->
   <stderr-log path='/usr/local/workspace/boss/web/stderr.log'
          rollover-period='1h'/>
   <class-loader>
    <compiling-loader path="/WEB-INF/classes"/>
    <library-loader path="/WEB-INF/lib"/>
   </class-loader>
   
   <web-app id="/">
    <security-constraint>
        <web-resource-collection>
     <url-pattern>/bulletin/leftpicture/*</url-pattern>
        </web-resource-collection>
        <ip-constraint>
     <deny>192.168.63.133</deny>
        </ip-constraint>
    </security-constraint>
   </web-app>
   <web-app id="/Upload" document-directory="/data1/webFiles/bossSite_Common" />
   
   <resin:if test="${java.isJava5()}">
    <resin:set var="resin_admin_password"  value=""/>
    <resin:set var="resin_admin_localhost" default="false"/>
    <web-app id="/resin-admin" document-directory="${resin.home}/php/admin"/>
   </resin:if>
  </host>
 </server>
</resin>

 

启动方式:

我的resin路径:usr:/resin-pro-3.0.22_bl

root$:cd usr:/resin-pro-3.0.22_bl/

root$:./web-a.sh

 

然后启动

root$:./app-a.sh

root$:./app-b.sh

 

然后就可以开始访问你的WEB页面了

 

 

 

分享到:
评论

相关推荐

    resin服务器 linux版本

    总的来说,Resin服务器在Linux环境下为Java开发者提供了一个强大、灵活且高效的平台,无论是小型项目还是大型企业应用,都能找到合适的解决方案。通过熟练掌握Resin的安装、配置和管理,你可以充分利用其特性,提升...

    resin4.0配置文件介绍

    Resin 还提供了负载均衡的功能,可以配置多个 Resin 实例,并通过负载均衡器来分配请求。同时,Resin 也提供了对集群中的 Resin 实例进行监控的能力。 #### 四、Resin 4.0 的迁移指南 迁移至 Resin 4.0 可能涉及到...

    Nginx1.1实现Resin4集群

    通过以上步骤,我们可以成功地构建一个基于Nginx1.1和Resin4的集群环境,实现负载均衡,提升系统的可靠性和性能。这个架构不仅适用于大型网站,也适用于需要高可用性的企业级应用。在实际操作中,还需要根据具体需求...

    resin安装配置说明.rar

    配置Resin涉及多个方面,包括但不限于以下内容: 1. **服务器配置文件**:主要由`conf/resin.xml`控制。在这里,您可以定义服务器的基本属性,如端口设置、JVM参数、应用上下文路径等。 2. **应用部署**:Resin...

    resin-pro-i386-linux-win-vs-resin-i386-linux-win-3.2.1

    标题 "resin-pro-i386-linux-win-vs-resin-i386-linux-win-3.2.1" 提供的信息表明,这是一个关于Resin服务器在不同操作系统和版本间的比较,特别是针对i386架构(32位)的Linux和Windows平台。Resin是一款开源的应用...

    Resin3.13 Pro Linux version

    1. **Java EE支持**:Resin3.13 Pro支持Java Enterprise Edition(Java EE)的多个版本,包括Servlet 2.5、JSP 2.1、EJB 3.0等规范,能够运行企业级的Web应用程序。 2. **快速启动**:由于其轻量级设计,Resin启动...

    resin-4.0.53

    总的来说,Resin 4.0.53作为一个成熟的Java应用服务器,在Linux环境中提供了强大的Web服务支持,其易用性、灵活性和高效性使得它在开发和生产环境中都有广泛的应用。如果你需要在Linux上搭建一个高性能的Java Web...

    Resin-install.rar_resin_resin install

    8. **负载均衡与集群**:Resin提供了内置的负载均衡和集群功能,可以通过配置实现多个Resin服务器间的session复制和请求分发,提高系统的可用性和扩展性。 9. **安全管理**:Resin的安全特性包括SSL/TLS加密、用户...

    resin 3.1.11版本绿色安装文件

    Resin,全称为CometD Resin,是由Caucho Technology公司开发的一款高效、轻量级的Java应用服务器,主要用于支持...总的来说,Resin是一个强大且灵活的Java应用服务器,尤其适合那些需要高性能、低延迟的Web应用环境。

    resin-4.0.47.tar.gz

    【标题】"resin-4.0.47.tar.gz" 是一个针对Linux系统的Web服务器软件Resin的压缩包,具体版本为4.0.47。这个压缩包包含了Resin 4.0.47的所有组件和配置文件,便于用户在Linux环境下快速安装和部署Resin。 【描述】...

    项目运行的服务器:Resin-4.0.58

    1. **Resin服务器**:Resin设计为一个快速、高效的Web服务器,尤其适合处理高并发的Web应用。它的核心特性包括支持Servlet 3.1规范、JSP 2.3规范、WebSocket协议等。Resin还提供了内置的负载均衡、集群管理和缓存...

    resins服务器使用和配置

    1. 负载均衡:Resin支持基于IP、URL或JSESSIONID的负载均衡策略,可以通过修改`resin.conf`配置多个服务器节点。 2. 集群配置:Resin可以实现应用的集群,通过共享Session和请求分发,提高系统的可用性和性能。 3. ...

    resin-3.1.0.rar

    4. **集群支持** - 支持跨多个服务器的集群配置,以实现高可用性和故障转移。 5. **数据缓存** - 提供了高效的数据缓存机制,加速了动态内容的生成和响应速度。 6. **Quercus PHP支持** - Resin内嵌了Quercus,一个...

    resin 安装使用详细手册

    - **软件环境准备**:安装 Java 运行环境(JRE 或 JDK),Resin 是基于 Java 的应用服务器,因此必须有 Java 环境才能运行。 ##### 1.2 Resin 作为 Web 服务器 - **功能概述**:Resin 不仅可以作为纯 Web 服务器...

    强烈推荐 Linux运维从入门到高级全套案例教程

    - **5.3.5 Resin多实例配置**:配置多个Resin实例。 **5.4 Nginx Tomcat动静分离** 通过Nginx作为前端代理服务器,实现静态资源和动态内容的分离,提高网站响应速度。 **5.5 LNAMP高性能架构配置** LNAMP(Linux...

    Linux 运维入门到高级.pdf

    - Shell 支持一维数组,可以用于存储多个元素。 - 数组元素可以通过索引访问,支持遍历和修改操作。 #### 五、Linux 深入篇 - **5.1 构建 Nginx WEB 服务器** - Nginx 是一款轻量级且高性能的 Web 服务器。 -...

    linux下部署weblogic

    通过上述介绍,我们可以看到在Linux环境下部署WebLogic涉及了多个步骤,包括系统环境准备、安装配置、创建域以及启动管理等。掌握了这些知识点后,开发者和运维人员就能够更加熟练地在生产环境中部署和管理WebLogic...

Global site tag (gtag.js) - Google Analytics