resin配置文件的详细解释

2022-04-12 00:00:00 字段 文件 服务器 配置 默认

下面是resin配置文件的详细解释:

http://blog.chinaunix.net/uid-25892360-id-3059362.html

  1. <!-- - Resin 3.1 配置文件. -->

  2. <resin xmlns="http://caucho.com/ns/resin" xmlns:resin="http://caucho.com/ns/resin/core">

  3. <!-- 加载resin/lib下的所有.jar文件-->

  4. <class-loader>

  5. <tree-loader path="${resin.home}/lib"/>

  6. <tree-loader path="${resin.root}/lib"/>

  7. </class-loader>

  8. <!-- - 管理配置 -->

  9. <management path="${resin.root}/admin">

  10. </management>

  11. <!-- -JDK日志接口的配置. -->

  12. <log name="" path="stdout:" timestamp="[%H:%M:%S.%s] "/>

  13. <!-- 日志信息的级别:'info' 生产环境 'fine' 开发环境 'finer' 调试环境 -->

  14. <logger name="com.caucho" level="info"/>

  15. <logger name="com.caucho.java" level="config"/>

  16. <logger name="com.caucho.loader" level="config"/>

  17. <!-- - 环境上下文的检测时间,对于生产站点, 这个要设置长一点,例如600秒,10分钟 -->

  18. <dependency-check-interval>2s</dependency-check-interval>

  19. <!-- - 发送邮件通知的SMTP服务器 -->

  20. <system-property mail.smtp.host="127.0.0.1"/>

  21. <system-property mail.smtp.port="25"/>

  22. <!-- - 你可以把编译器改成 "javac", "eclipse" 或者 "internal". -->

  23. <javac compiler="internal" args="-source 1.5"/>

  24. <!-- Security providers.

  25. - <security-provider>

  26. - com.sun.net.ssl.internal.ssl.Provider

  27. - </security-provider>

  28. -->

  29. <!-- 去掉注释,如果你使用resin提供的xml应用

  30. -

  31. - <system-property javax.xml.parsers.DocumentBuilderFactory

  32. - ="com.caucho.xml.parsers.XmlDocumentBuilderFactory"/>

  33. - <system-property javax.xml.parsers.SAXParserFactory

  34. - ="com.caucho.xml.parsers.XmlSAXParserFactory"/>

  35. -->

  36. <cluster id="app-tier">

  37. <!-- 设置集群上下文的根, 相对于server.root -->

  38. <root-directory>.</root-directory>

  39. <server-default>

  40. <!-- HTTP服务的端口-->

  41. <http address="*" port="8080"/>

  42. <!--

  43. - SSL端口配置:

  44. -

  45. - <http address="*" port="8443">

  46. - <openssl>

  47. - <certificate-file>keys/gryffindor.crt</certificate-file>

  48. - <certificate-key-file>keys/gryffindor.key</certificate-key-file>

  49. - <password>test123</password>

  50. - </openssl>

  51. - </http>

  52. -->

  53. <!-- - JVM参数设置 -->

  54. <jvm-arg>-Xmx256m</jvm-arg>

  55. <jvm-arg>-Xss1m</jvm-arg>

  56. <jvm-arg>-Xdebug</jvm-arg>

  57. <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>

  58. <!-- Uncomment to enable admin heap dumps 去掉这个如果你想管理内存堆的倾倒

  59. - <jvm-arg>-agentlib:resin</jvm-arg>

  60. -->

  61. <watchdog-arg>-Dcom.sun.management.jmxremote</watchdog-arg>

  62. <!-- 强制resin强制重起时的小空闲内存 -->

  63. <memory-free-min>1M</memory-free-min>

  64. <!-- 大线程数量. -->

  65. <thread-max>256</thread-max>

  66. <!-- 套接字等待时间 -->

  67. <socket-timeout>65s</socket-timeout>

  68. <!-- 配置 keepalive -->

  69. <keepalive-max>128</keepalive-max>

  70. <keepalive-timeout>15s</keepalive-timeout>

  71. <!-- - 如果使用的是UNIX,这里是启动的帐号和用户组.

  72. - <user-name>resin</user-name>

  73. - <group-name>resin</group-name>

  74. -->

  75. </server-default>

  76. <!-- 定义群集服务器 -->

  77. <server id="" address="127.0.0.1" port="6800"/>

  78. <!-- Configures the persistent store for single-server or clustered 配置独立服务器或者群集的持久化存储,专业版的功能 -->

  79. <resin:if test="${resin.isProfessional()}">

  80. <persistent-store type="cluster">

  81. <init path="session"/>

  82. </persistent-store>

  83. </resin:if>

  84. <!-- 为了安全, 你可以为SSL会话(SSL sessions)定义一个不同的cookie.

  85. - <ssl-session-cookie>SSL_JSESSIONID</ssl-session-cookie>

  86. -->

  87. <!-- 缓存启用 (专业版的功能) -->

  88. <resin:if test="${isResinProfessional}">

  89. <cache path="cache" memory-size="64M">

  90. <!-- Vary header rewriting for IE -->

  91. <rewrite-vary-as-private/>

  92. </cache>

  93. </resin:if>

  94. <!-- 启用周期性的服务器状态检查和死锁检查,所有的服务器可以添加 <url> 来检查。 -->

  95. <resin:if test="${isResinProfessional}">

  96. <ping>

  97. <!-- <url>http://localhost:8080/test-ping.jsp</url> -->

  98. </ping>

  99. </resin:if>

  100. <!-- 包含web应用的默认行为 -->

  101. <resin:import path="${resin.home}/conf/app-default.xml"/>

  102. <!-- 每一个web应用的默认参数 -->

  103. <web-app-default>

  104. <!-- 扩展库的公共jar文件,扩展是安全的即使没有类装载器知道的jars,装载的类将为每个应用分别装载,也就是这些类都是不同的 -->

  105. <class-loader>

  106. <tree-loader path="${server.root}/ext-webapp"/>

  107. </class-loader>

  108. <!-- 设置缓存页、静态也的延时值 -->

  109. <cache-mapping url-pattern="/" expires="5s"/>

  110. <cache-mapping url-pattern="*.gif" expires="60s"/>

  111. <cache-mapping url-pattern="*.jpg" expires="60s"/>

  112. <cache-mapping url-pattern="*.png" expires="60s"/>

  113. <!-- 启用EL表达式 -->

  114. <allow-servlet-el/>

  115. <!-- 安全原因, 默认禁用了会话的URLs -->

  116. <session-config>

  117. <enable-url-rewriting>false</enable-url-rewriting>

  118. </session-config>

  119. <!-- 安全原因, 在cookies中设置HttpOnly标志

  120. - <cookie-http-only/>

  121. -->

  122. <!--一些JSP包有不正确的 .tld文件。可以把validate-taglib-schema设置成false,可能继续正常工作

  123. - Some JSP packages have incorrect .tld files. It's possible to set validate-taglib-schema to false to work around these packages.

  124. -->

  125. <jsp>

  126. <validate-taglib-schema>true</validate-taglib-schema>

  127. <fast-jstl>true</fast-jstl>

  128. <fast-jsf>true</fast-jsf>

  129. </jsp>

  130. </web-app-default>

  131. <!-- 简单的数据池配置

  132. - The JDBC name is java:comp/env/jdbc/test

  133. <database>

  134. <jndi-name>jdbc/mysql</jndi-name>

  135. <driver type="org.gjt.mm.mysql.Driver">

  136. <url>jdbc:mysql://localhost:3306/test</url>

  137. <user></user>

  138. <password></password>

  139. </driver>

  140. <prepared-statement-cache-size>8</prepared-statement-cache-size>

  141. <max-connections>20</max-connections>

  142. <max-idle-time>30s</max-idle-time>

  143. </database>

  144. -->

  145. <!-- 定义所有虚拟主机的默认配置 -->

  146. <host-default>

  147. <!-- 如果和别的web服务器整合,这个可以被去掉,因为web服务器也可以记录这些信息。 -->

  148. <access-log path="logs/access.log" format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' rollover-period="1W"/>

  149. <!-- war 文件的布置目录 -->

  150. <web-app-deploy path="webapps"/>

  151. <!-- ear文件的布置目录 -->

  152. <ear-deploy path="deploy">

  153. <ear-default>

  154. <ejb-server>

  155. <config-directory>WEB-INF</config-directory>

  156. <>

    </ejb-server>

  157. </ear-default>

  158. </ear-deploy>

  159. <!-- rar文件的布置目录 -->

  160. <resource-deploy path="deploy"/>

  161. </host-default>

  162. <!-- 虚拟主机的布置目录 -->

  163. <host-deploy path="hosts">

  164. <host-default>

  165. <resin:import path="host.xml" optional="true"/>

  166. </host-default>

  167. </host-deploy>

  168. <!-- 默认的虚拟主机配置 -->

  169. <host id="" root-directory=".">

  170. <!-- 配置默认的应用 webapp's ROOT -->

  171. <web-app id="/" root-directory="webapps/ROOT"/>

  172. <web-app id="/resin-admin" root-directory="${resin.home}/php/admin">

  173. <!-- - 管理应用程序 /resin-admin

  174. - password is the md5 hash of the password。md5码的密码。

  175. - localhost is true to limit access to the localhost。localhost设置成true,这样只有localhost才能访问

  176. -->

  177. <prologue>

  178. <resin:set var="resin_admin_user" value=""/>

  179. <resin:set var="resin_admin_password" value=""/>

  180. <resin:set var="resin_admin_external" value="false"/>

  181. </prologue>

  182. </web-app>

  183. </host>

  184. </cluster>

  185. <!-- - Configuration for the web-tier/load-balancer -->

  186. <resin:if test="${resin.isProfessional()}">

  187. <cluster id="web-tier">

  188. <server-default>

  189. <!-- The http port -->

  190. <http address="*" port="9080"/>

  191. </server-default>

  192. <server id="web-a" address="127.0.0.1" port="6700"/>

  193. <cache path="cache" memory-size="64M"/>

  194. <host id="">

  195. <web-app id="/">

  196. <rewrite-dispatch>

  197. <load-balance regexp="" cluster="app-tier"/>

  198. </rewrite-dispatch>

  199. </web-app>

  200. </host>

  201. </cluster>

  202. </resin:if>

  203. </resin>

关键配置解释:


  1. http://hi.baidu.com/athlonzeng/blog/item/eaea0b3ffa5b32eb55e7232c.html

  2. 3.1 数据库连接池配置

  3. 如果应用使用数据库连接池,查找<caucho.com>,在其后加入数据库连接池的配置信息如下:

  4. SQL SERVER

  5. ==================================================================

  6. <resource-ref>

  7. <res-ref-name>jdbc/job36_use</res-ref-name>

  8. <res-type>javax.sql.DataSource</res-type>

  9. <init-param driver-name="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>

  10. <init-param url="jdbc:microsoft:sqlserver://192.168.3.84:1433;create=true;DatabaseName=CRM"/>

  11. <init-param user="sa"/>

  12. <init-param password="job36"/>

  13. <init-param max-connections="10"/>

  14. <init-param enable-transaction="true"/>

  15. </resource-ref>


  16. ORACLE

  17. ==================================================================

  18. <resource-ref>

  19. <res-ref-name>jdbc/job36</res-ref-name>

  20. <res-type>javax.sql.DataSource</res-type>

  21. <init-param driver-name="oracle.jdbc.driver.OracleDriver"/>

  22. <init-param url="jdbc:oracle:thin:@192.168.3.84:1521:CRM"/>

  23. <init-param user="job36"/>

  24. <init-param password="job36"/>

  25. <init-param max-connections="10"/>

  26. <init-param enable-transaction="false"/>

  27. </resource-ref>

  28. 注意:如果要访问数据库,请先确认RESIN安装目录下lib文件夹有相应数据库的JDBC驱动,如mssqlserver.jar或oracle_jdbc.jar等,否则请先将驱动文件拷贝到该目录,不然无法访问数据库。

  29. <res-ref-name>字段为连接池名字,要与业务应用配置相同;

  30. <init-param url>字段为数据库连接字符串,蓝色部分为数据库服务器IP:PORT、数据库名或SID。<init-param user>数据库用户名。

  31. <init-param password>密码。

  32. <init-param max-connections>字段为连接池大连接个数,这个数据对基于WEB的数据库应用性能有一定影响,建议配置数为10~40(数据库应用较多时配置应偏小,网页应用较多时应偏大)。


  33. 3.2 服务端口配置

  34. 查找<http port='8080'/>,蓝色字符串即为端口号,根据实际应用修改。

  35. 如果需要在一台服务器上启动多个resin服务,请按相应规划各应用端口号在每个resin安装目录的配置文件中配置该项,不可重复。


  36. 3.3 更新类间隔时间

  37. <class-update-interval>60s</class-update-interval>,蓝色字符为配置项,单位为秒。

  38. Class- update-interval字段对RESIN服务性能影响较大,请根据需求更改,建议配置原则为:在开发环境,设为2或更小,这样有利于 及时反映程序的修改对应用造成的改变;生产环境建议配置小60,根据生产环境的特点,不可能有频繁的类改动或是JAVA脚本改变,或者根本不会有改动, 所以依据实际情况,设置为60~3600。


  39. 3.4 大进程数

  40. <thread-max>20</thread-max>,蓝色字符为配置项。

  41. Thread-max字段为RESIN服务大接收处理的进程个数,为了达到较好的性能输出,建议该项配置值为3.1连接池中max-connections参数的1倍。即,如果连接池max-connections设为10,那么就将thread-max设为20。

  42. #resin.3.1版本安装之后默认是1024,我改成了1024*20=20480.(zixun)

  43. 3.5 保持活动进程数

  44. <thread-keepalive id='19'/>,蓝色字符为配置项。

  45. Thread-keepalive字段为RESIN服务保持链接活动性的大个数,它的值一定要小于3.4节中thread-max的值,否则RESIN无法启动。该项无建议值。


  46. 3.6 请求超时时长

  47. <request-timeout id='65s'/>,蓝色字符为配置项,单位为秒。

  48. Request-timeout字段为RESIN服务返回请求链接超时的时间,默认即可。


  49. 3.7 接收链接缓冲大小

  50. <accept-buffer-size id='500'/>,蓝色字符为配置项。

  51. Accept-buffer-size id字段为RESIN服务在满进程数下接收等待进程缓冲的个数,根据服务器、网络情况而定,无建议值。


  52. 3.8 缓存文件过期时间

  53. <cache-mapping url-pattern='/' expires='2s'/>,蓝色字符为配置项。

  54. RESIN 运行中把被访问文件数据进行缓存(默认缓存目录为RESIN安装目录下的cache目录,可在<cache dir='cache' size='1024' entries='8192'/>字段修改为指定路径),以便更加有效率的工作,Cache-mapping url-pattern字段为RESIN服务保持缓存文件有效性的时间,开发环境推荐配置为默认值2,生产环境建议配置较大值,比如15或30。本配置基 于应用,增加缓存有效时间,在有较多相同页面服务时减少了服务器的业务逻辑,转而利用磁盘缓冲文件提供数据;但是如果在固定时间长度里(比如10分钟)相 同页面的请求率很小或甚至没有相同的请求时,会增加一次缓存文件匹配动作,反而降低了服务器效率。因此,在特殊的应用中,可以将本配置项设为2,或注 释<cache dir='cache' size='1024' entries='8192'/>,取消缓存功能。


  55. 3.9 虚拟主机设置


  56. 3.9.1 默认文档设置

  57. <welcome-file-list>index.xtp, index.jsp, index.html</welcome-file-list>.

  58. Wecome- file-list字段为默认文档的文件列表。默认文档是在客户端访问Web服务器,比如RESIN,时如果没有制定要访问的文件(即输入 URL为目录名而不是具体的文件名,如:http://localhost:8080/),此时RESIN会根据该字段的值来搜索URL访问目录查找匹配 文件,如果找到文件则返回给用户而不需用户输入全部的URL,比如:http://localhost:8080/index.html。

  59. 该配置项一般用来设置默认主页。


  60. 3.9.2 主机ID

  61. <host id=''>.

  62. Host id字段在单主机环境、一台服务器需要启动多个不同的RESIN服务时不用配置,请保持默认的空值。只有当与其他web服务器,比如apache等,同时使用时,考虑改配置项。


  63. 3.9.3 日志

  64. <!--access-log id='logs/access.log'

  65. format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'

  66. rollover-period='1W'/-->

  67. <error-log id='logs/error.log'/>,蓝色字符为配置项。

  68. ? access-log id字段为RESIN记录运行时访问日志,该日志在单独服务器情况下不推荐使用,就算在混合服务器情况下(比如IIS、APACHE等)也不推荐,除非要分析个服务器的访问情况。如果不使用注释该段即可(加入红色部分代码)。

  69. ? error-log id字段为RESIN错误日志,建议使用默认值。日志保存在RESIN安装目录的logs文件夹里。


  70. 3.9.4 虚拟目录

  71. 在<host></host>字段中加入<web-app id='/test’ app-dir='C:\webapp'/>,蓝色字符为配置项。

  72. Web-app id字段为RESIN虚拟目录名,app-dir字段为本地路径值。

  73. 例如:上面的配置实现了将http://localhost:8080/test/ 映射到了服务器本地的c:\webapp目录,该目录内容应为web应用的代码或脚本。


  74. 4 单服务器多resin服务的配置

  75. 在某些应用中,会用到单服务器多resin服务的配置,也就是在一台服务器上需要使用多个不同的resin服务,比如一个WEB网站的resin,一个语音IVR或短信SM的resin,此时的配置除了第三章所讲的,还要注意以下几点:

  76. 1. Host id字段保留默认配置。

  77. 2. 各resin配置文件的http port值不可相同,请按照系统规划的端口号进行相应配置。

  78. 3. 各resin配置文件的<srun host=’127.0.0.1’ port=’6802’>中的port值不可相同,该值可以任意配置,但要保持与其他端口没有冲突,推荐递增配置,比如6802、6803等,因为一般680x不会被使用。

  79. 4. 在配置完成后,观察resin启动界面(dos界面),确认以下两项没有出现:

  80. ? http can’t bind to *:8080 (提示中的8080可能是别的数字,该提示说明http端口号有冲突,请检查http port字段的值)

  81. ? srun can’t bind to port 127.0.0.1:6802 (提示中的6802可能是别的数字,该提示说明127.0.0.1的端口有冲突,请检查srun字段的port值)

  82. 5. 手工输入地址测试是否正常。

  83. 配置完成。

相关文章