`

Resin 3.1 配置文件详细说明

 
阅读更多

Resin 3.1 配置文件详细说明

<!--  Resin 3.1 配置文件. -->  
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="http://caucho.com/ns/resin/core">  
  <!-- 加载resin/lib下的所有.jar文件-->  
  <class-loader>  
    <tree-loader path="${resin.home}/lib"/>  
    <tree-loader path="${resin.root}/lib"/>  
  </class-loader>  
  <!--  管理配置 -->  
  <management path="${resin.root}/admin">  
  </management>  
  <!--   JDK日志接口的配置.   -->  
  <log name="" path="stdout:" timestamp="[%H:%M:%S.%s] "/>  
  <!-- 日志信息的级别:'info' 生产环境  'fine' 开发环境 'finer' 调试环境 -->  
  <logger name="com.caucho" level="info"/>  
  <logger name="com.caucho.java" level="config"/>  
  <logger name="com.caucho.loader" level="config"/>  
  <!--  环境上下文的检测时间,对于生产站点, 这个要设置长一点,例如600秒,10分钟  -->  
  <dependency-check-interval>2s</dependency-check-interval>  
  <!--      发送邮件通知的SMTP服务器     -->  
  <system-property mail.smtp.host="127.0.0.1"/>  
  <system-property mail.smtp.port="25"/>  
  <!--      你可以把编译器改成 "javac", "eclipse" 或者 "internal".    -->  
  <javac compiler="internal" args="-source 1.5"/>  
  
  <!-- Security providers. -->  
      <security-provider>  
         com.sun.net.ssl.internal.ssl.Provider  
      </security-provider>  
  
  <!-- 去掉注释,如果你使用resin提供的xml应用 -->  
        
      <system-property javax.xml.parsers.DocumentBuilderFactory  
                      ="com.caucho.xml.parsers.XmlDocumentBuilderFactory"/>  
      <system-property javax.xml.parsers.SAXParserFactory  
                      ="com.caucho.xml.parsers.XmlSAXParserFactory"/>  
    
  <cluster id="app-tier">  
    <!-- 设置集群上下文的根, 相对于server.root -->  
    <root-directory>.</root-directory>  
    <server-default>  
      <!-- HTTP服务的端口-->  
      <http address="*" port="8080"/>  
      <!-- SSL端口配置: -->  
            
          <http address="*" port="8443">  
            <openssl>  
              <certificate-file>keys/gryffindor.crt</certificate-file>  
              <certificate-key-file>keys/gryffindor.key</certificate-key-file>  
              <password>test123</password>  
            </openssl>  
          </http>  
         
      <!--          JVM参数设置        -->  
      <jvm-arg>-Xmx256m</jvm-arg>  
      <jvm-arg>-Xss1m</jvm-arg>  
      <jvm-arg>-Xdebug</jvm-arg>  
      <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>  
      <!-- Uncomment to enable admin heap dumps 去掉这个如果你想管理内存堆的倾倒 -->  
          <jvm-arg>-agentlib:resin</jvm-arg>  
  
      <watchdog-arg>-Dcom.sun.management.jmxremote</watchdog-arg>  
      <!--   强制resin强制重起时的最小空闲内存    -->  
      <memory-free-min>1M</memory-free-min>  
      <!-- 最大线程数量. -->  
      <thread-max>256</thread-max>  
      <!--  套接字等待时间 -->  
      <socket-timeout>65s</socket-timeout>  
      <!-- 配置 keepalive -->  
      <keepalive-max>128</keepalive-max>  
      <keepalive-timeout>15s</keepalive-timeout>  
      <!--          如果使用的是UNIX,这里是启动的帐号和用户组. -->  
          <user-name>resin</user-name>  
          <group-name>resin</group-name>  
        
    </server-default>  
    <!-- 定义群集服务器 -->  
    <server id="" address="127.0.0.1" port="6800"/>  
    <!--    Configures the persistent store for single-server or clustered
配置独立服务器或者群集的持久化存储,专业版的功能    -->  
    <resin:if test="${resin.isProfessional()}">  
      <persistent-store type="cluster">  
        <init path="session"/>  
      </persistent-store>  
    </resin:if>  
    <!--   为了安全, 你可以为SSL会话(SSL sessions)定义一个不同的cookie. -->  
        <ssl-session-cookie>SSL_JSESSIONID</ssl-session-cookie>  
      
    <!--  缓存启用 (专业版的功能)   -->  
    <resin:if test="${isResinProfessional}">  
      <cache path="cache" memory-size="64M">  
        <!-- Vary header rewriting for IE -->  
        <rewrite-vary-as-private/>  
      </cache>  
    </resin:if>  
    <!-- 启用周期性的服务器状态检查和死锁检查,所有的服务器可以添加 <url> 来检查。  -->  
    <resin:if test="${isResinProfessional}">  
      <ping>  
        <!-- <url>http://localhost:8080/test-ping.jsp</url> -->  
      </ping>  
    </resin:if>  
    <!-- 包含web应用的默认行为  -->  
    <resin:import path="${resin.home}/conf/app-default.xml"/>  
    <!-- 每一个web应用的默认参数  -->  
    <web-app-default>  
      <!-- 扩展库的公共jar文件,扩展是安全的即使没有类装载器知道的jars,
装载的类将为每个应用分别装载,也就是这些类都是不同的 -->  
      <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"/>  
      <cache-mapping url-pattern="*.png" expires="60s"/>  
      <!-- 启用EL表达式 -->  
      <allow-servlet-el/>  
      <!--   安全原因, 默认禁用了会话的URLs -->  
      <session-config>  
        <enable-url-rewriting>false</enable-url-rewriting>  
      </session-config>  
      <!-- 安全原因, 在cookies中设置HttpOnly标志 -->  
          <cookie-http-only/>  
            
      <!--一些JSP包有不正确的 .tld文件。可以把validate-taglib-schema设置成false,可能继续正常工作
Some JSP packages have incorrect .tld files.  It's possible to set validate-taglib-schema to false to work around these packages. -->  
        <jsp>  
          <validate-taglib-schema>true</validate-taglib-schema>  
          <fast-jstl>true</fast-jstl>  
          <fast-jsf>true</fast-jsf>  
        </jsp>  
    </web-app-default>  
    <!-- 简单的数据池配置 -->  
        The JDBC name is java:comp/env/jdbc/test  
         <database>  
           <jndi-name>jdbc/mysql</jndi-name>  
           <driver type="org.gjt.mm.mysql.Driver">  
             <url>jdbc:mysql://localhost:3306/test</url>  
             <user></user>  
             <password></password>  
            </driver>  
            <prepared-statement-cache-size>8</prepared-statement-cache-size>  
            <max-connections>20</max-connections>  
            <max-idle-time>30s</max-idle-time>  
          </database>  
            
    <!-- 定义所有虚拟主机的默认配置 -->  
    <host-default>  
      <!-- 如果和别的web服务器整合,这个可以被去掉,因为web服务器也可以记录这些信息。  -->  
      <access-log path="logs/access.log" format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' rollover-period="1W"/>  
      <!-- war 文件的布置目录  -->  
      <web-app-deploy path="webapps"/>  
      <!-- ear文件的布置目录 -->  
      <ear-deploy path="deploy">  
        <ear-default>  
          <ejb-server>  
            <config-directory>WEB-INF</config-directory>  
            <data-source>jdbc/test</data-source>  
          </ejb-server>  
        </ear-default>  
      </ear-deploy>  
      <!-- rar文件的布置目录 -->  
      <resource-deploy path="deploy"/>  
    </host-default>  
    <!-- 虚拟主机的布置目录 -->  
    <host-deploy path="hosts">  
      <host-default>  
        <resin:import path="host.xml" optional="true"/>  
      </host-default>  
    </host-deploy>  
    <!-- 默认的虚拟主机配置 -->  
    <host id="" root-directory=".">  
      <!-- 配置默认的应用 webapp's ROOT        -->  
      <web-app id="/" root-directory="webapps/ROOT"/>  
      <web-app id="/resin-admin" root-directory="${resin.home}/php/admin">  
        <!--  管理应用程序 /resin-admin password is the md5 hash of the password。md5码的密码。
localhost is true to limit access to the localhost。localhost设置成true,这样只有localhost才能访问 -->  
        <prologue>  
          <resin:set var="resin_admin_user" value=""/>  
          <resin:set var="resin_admin_password" value=""/>  
          <resin:set var="resin_admin_external" value="false"/>  
        </prologue>  
      </web-app>  
    </host>  
  </cluster>  
  <!--  Configuration for the web-tier/load-balancer  -->  
  <resin:if test="${resin.isProfessional()}">  
    <cluster id="web-tier">  
      <server-default>  
        <!-- The http port -->  
        <http address="*" port="9080"/>  
      </server-default>  
      <server id="web-a" address="127.0.0.1" port="6700"/>  
      <cache path="cache" memory-size="64M"/>  
      <host id="">  
        <web-app id="/">  
           <rewrite-dispatch>  
             <load-balance regexp="" cluster="app-tier"/>  
           </rewrite-dispatch>  
        </web-app>  
      </host>  
    </cluster>  
  </resin:if>  
</resin>  

 

 

补充:

1.<server-default>

<http address="*" port="80"/>

          <http server-id="xxx.xxx.xxx.xx1" address="xxx.xxx.xxx.xx1" port="443">
        <jsse-ssl>
            <key-store-type>jks</key-store-type>
            <key-store-file>conf/server1.keystore</key-store-file>
            <password>密码</password>
        </jsse-ssl>
    </http>

    <http server-id="xxx.xxx.xxx.xx2" address="xxx.xxx.xxx.xx2" port="443">
        <jsse-ssl>
            <key-store-type>jks</key-store-type>
            <key-store-file>conf/server2.keystore</key-store-file>
            <password>密码</password>
        </jsse-ssl>
    </http>
</server-default>
以上实现,同一台物理服务器,监听不同ip的443端口实现不同域名不同证书的分配

 

2.Session的配置
      <session-config>
    <session-max>4096</session-max>
    <session-timeout>30</session-timeout>
    <enable-cookies>true</enable-cookies>
    <enable-url-rewriting>true</enable-url-rewriting>
    <file-store>WEB-INF/sessions</file-store>
    </session-config>
 
    session-max :最大 session数量
    session-timeout :session过期时间,以分钟为单位。
    是否允许cookie :指session是否采用cookies。如果采用cookies,浏览器必须支持session才能使用,发布时建议改成false。enable-url-rewriting和enable-cookies一般配合使用。如果enable-cookies是false,
    enable-url-rewriting应该设成true比较合适。
    file-store :该配置指示服务器是否把session作为文件存放在服务器上。如果把该项注释掉,则在你的web-app目录下的WEB-Inf/sessions目录不保存序列化后的session对象。Session还有jdbc-store配置,对应着把session通过jdbc永久保存在数据库中。其实也就是会话变量的序列化后的保存和重新载入的物理实现。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics