当前位置: 代码迷 >> Web前端 >> resion 2.x配备
  详细解决方案

resion 2.x配备

热度:296   发布时间:2012-10-31 14:37:32.0
resion 2.x配置

resion 2.x配置

1. <http host='localhost' port='8888'/>
?? host参数指定的是服务器,port指定的是http端口,默认是localhost和8080。
2. <srun host='localhost' port='6802'/> 这个是jsp和java Servlet的引擎配置。
3. 使用Resin开发Java Web项目时,需要建立自己的WebApp。
4. Resin中的应用可以有2种方式发布:
?????? 一是在Resin的目录下发布;
?????? 二是打包成War发布。
5. 在resin.conf中查找<web-app>标签,该标签表示一个web应用

???? 标签中,id属性表示该应用的Web路径。如<web-app id='/test' app-dir='e:\pic'>,表示该应用在Web上访问的时候应该用http://hostname/test/来访问。app-dir属性表示该应用的实际路径。

如<web-app id='/test' app-dir='e:\pic'>

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

Resin可以配置3种error-page:404错

误也就是文件找不到错误页;Exception违例页;不能连接java引擎页。他们分别可以这样子设置。
?
?   404文件找不到页
?   <web-app id='/app1'>
?    <error-page error-code='404' location='/file_not_found.jsp'/>
?   </web-app>
?
?   Exception 违例页
?   <web-app id='/foo'>
?    <error-page exception-type='java.lang.NullPointerException' location='/nullpointer.jsp'/>
?   </web-app>
?
?   不能连接到srun Servlet引擎错误页
?
?   该页设置和应用无关,属于服务器的设置。
?   <http-server>
?    <error-page exception-type='connection' location='/missing_file.html'/>
?   </http-server>
?
?   参见下面的语句:
?
?   <classpath id='WEB-INF/classes' source='WEB-INF/src' compile='true'/>
?
?   id参数的值表示classpath中编译后的class的存放路径;
????? source参数的值表示classpath中java源代码的存放路径;
????? compile中的值可能是true或者false,表示是否由Resin的srun自动编译java源代码。
????? Classpath的设置一般和javaBean或者Servlet的使用有关。id的值表示javaBean的编译好的包存放的根,

source的值表示javaBean的java源代码存放的根。Servlet相同。
6.? Servlet的设置
????? <servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/>
?   <servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/>
?   <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
?   一般就是指定那些需要通过srun的解析。比如在这里,把*.jsp改成*.jss,其他不变,那么只要在访问时遇到

*.jss的文件就和原来遇到*.jsp一样处理。通过这个可以指定解析的引擎,如以下的配置:
?   <servlet-mapping url-pattern='*.xtp' servlet-name='com.caucho.jsp.XtpServlet'/>
?   在Servlet中,也可以指定servlet。如
?   <servlet servlet-name='hello' servlet-class='test.HelloWorld'/>
?   <servlet-mapping url-pattern='/hello.html' servlet-name='hello'/>
?   在servlet-mapping中有个重要的参数case-sensitive 如果在windows上,最好配置成false,忽略大小写,从

而和windows的约定一致。
7.? 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永久保存在数据库中。

其实也就是会话变量的序列化后的保存和重新载入的物理实现。
?下面在详细举例说明一下

RESIN的配置文件只有一个,在安装目录的conf文件夹内,文件名为resin.conf,该文件是一个xml结构的文件,可用notepad或其他文本编辑器打开编辑。

下面针对常用的配置项进行说明。
1 数据库连接池配置
如果应用使用数据库连接池,解压缩后一般都直接带有一个mysql的连接池例子,如要更改查找<caucho.com>,在其后加入数据库连接池的配置信息如下:
SQL SERVER
==================================================================
<resource-ref>
<res-ref-name>jdbc/testxml</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<init-param url="jdbc:microsoft:sqlserver://192.168.1.84:1433;create=true;DatabaseName=test"/>
<init-param user="sa"/>
<init-param password="sa"/>
<init-param max-connections="10"/>
<init-param enable-transaction="true"/>
</resource-ref>

ORACLE
==================================================================
<resource-ref>
<res-ref-name>jdbc/testxml</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="oracle.jdbc.driver.OracleDriver"/>
<init-param url="jdbc:oracle:thin:@192.168.1.10:1521:test"/>
<init-param user="root"/>
<init-param password="root"/>
<init-param max-connections="10"/>
<init-param enable-transaction="false"/>
</resource-ref>
注意:如果要访问数据库,请先确认RESIN安装目录下lib文件夹有相应数据库的JDBC驱动,如mssqlserver.jar或oracle_jdbc.jar等,否则请先将驱动文件拷贝到该目录,不然无法访问数据库。
<res-ref-name>字段为连接池名字,要与业务应用配置相同;
<init-param url>字段为数据库连接字符串,蓝色部分为数据库服务器IP:PORT、数据库名或SID。<init-param user>数据库用户名。
<init-param password>密码。
<init-param max-connections>字段为连接池最大连接个数,这个数据对基于WEB的数据库应用性能有一定影响,建议配置数为10~40(数据库应用较多时配置应偏小,网页应用较多时应偏大)。

2 服务端口配置
查找<http port='8080'/>,蓝色字符串即为端口号,根据实际应用修改。
如果需要在一台服务器上启动多个resin服务,请按相应规划各应用端口号在每个resin安装目录的配置文件中配置该项,不可重复。

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

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

5 保持活动进程数
<thread-keepalive id='19'/>,蓝色字符为配置项。
Thread-keepalive字段为RESIN服务保持链接活动性的最大个数,它的值一定要小于3.4节中thread-max的值,否则RESIN无法启动。该项无建议值。

6 请求超时时长
<request-timeout id='65s'/>,蓝色字符为配置项,单位为秒。
Request-timeout字段为RESIN服务返回请求链接超时的时间,默认即可。

7 接收链接缓冲大小
<accept-buffer-size id='500'/>,蓝色字符为配置项。
Accept-buffer-size id字段为RESIN服务在满进程数下接收等待进程缓冲的个数,根据服务器、网络情况而定,无建议值。

8 缓存文件过期时间
<cache-mapping url-pattern='/' expires='2s'/>,蓝色字符为配置项。
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'/>,取消缓存功能。

9 虚拟主机设置

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

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

9.3 日志
<!--access-log id='logs/access.log' format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
rollover-period='1W'/-->
<error-log id='logs/error.log'/>,蓝色字符为配置项。
? access-log id字段为RESIN记录运行时访问日志,该日志在单独服务器情况下不推荐使用,就算在混合服务器情况下(比如IIS、APACHE等)也不推荐,除非要分析个服务器的访问情况。如果不使用注释该段即可(加入红色部分代码)。
? error-log id字段为RESIN错误日志,建议使用默认值。日志保存在RESIN安装目录的logs文件夹里。

9.4 虚拟目录
在<host></host>字段中加入<web-app id='/test’ app-dir='C:\webapp'/>,蓝色字符为配置项。
Web-app id字段为RESIN虚拟目录名,app-dir字段为本地路径值。
例如:上面的配置实现了将http://localhost:8080/test/ 映射到了服务器本地的c:\webapp目录,该目录内容应为web应用的代码或脚本。

10单服务器多resin服务的配置
在某些应用中,会用到单服务器多resin服务的配置,也就是在一台服务器上需要使用多个不同的resin服务,比如一个WEB网站的resin,一个语音IVR或短信SM的resin,注意以下几点:
1. Host id字段保留默认配置。
2. 各resin配置文件的http port值不可相同,请按照系统规划的端口号进行相应配置。
3. 各resin配置文件的<srun host=’127.0.0.1’ port=’6802’>中的port值不可相同,该值可以任意配置,但要保持与其他端口没有冲突,推荐递增配置,比如6802、6803等,因为一般680x不会被使用。
4. 手工输入地址测试是否正常。
配置完成。

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/afeilxc/archive/2008/11/28/3399724.aspx

  相关解决方案