怎么在resin 解压war中发布WAR文件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&本帖子已过去太久远了,不再提供回复功能。Windows安装Resin配置详解与发布应用的方法_未来软件园
手机版,更便捷!
当前位置: >
> Windows安装Resin配置详解与发布应用的方法
Windows安装Resin配置详解与发布应用的方法
大家知道Windows安装Resin配置详解与发布应用的方法吗?现在我就给你们说说吧!Windows安装Resin配置详解与发布应用教程1、将下载下来的Resin包解压开,会看到一大堆的文件,有一些关键的文件,我们需要了解一下。--conf/resin.properties 配置属性--conf/resin.xml 配置文件--conf/licenses/ 许可信息文件--conf/keys/ openSSL 秘钥--webapps/ 部署服务器路径--logs/ &resin日志文件2、Resin需要JDK1.6以上的版本,并且需要配置JAVA_HOME。在环境变量中配置RESIN_HOME ,如:c:\resin-4.0.403、运行resin.exe或者在命令中执行 &run java -jar lib/resin.jar start。4、在中输入:http://localhost:8080,显示如下则证明resin安装成功。5、单机“/resin-admin”,跳转到管理页面,输入用户名(如:admin)和密码(如:admin),创建配置文件。注意这里点击“Create Configuration File”时,并没有真正的生成配置,只是生成了一个用户名和加密后的密码。将生成的用户名和密码拷贝到/conf/resin.properties文件中,就可以登陆了。6、但是目前也仅限于本机登陆,如若想要外部的主机能够访问,还需要在/conf/resin.properties文件中增加admin_external : trueadmin_secure : true或者在/conf/resin.xml文件中增加&resin:set var=&resin_admin_external& value=&true&/&7. 将打包好的war包发布到/webapps目录下,启动服务器,即可访问你的应用。
感谢您的支持,我会继续努力的!
扫码打赏,建议金额1-10元resin配置文件说明
Resin是一个Servlet容器.使用Resin开发Java Web项目时,需要建立自己的WebApp。
Resin中的应用可以有2种方式发布:
& 是在Resin的目录下发布;
& 是打包成War发布
一、resin.conf配置文件说明[Resin3.1下的]
1.&http host='localhost'
port='80'/&
host参数指定的是服务器,port指定的是http端口,默认是localhost和8080。
2. &web-app&标签
该标签表示一个web应用,标签中,id属性表示该应用的Web路径。
如&web-app
id='/test'&,表示该应用在Web上访问的时候应该用来访问。
app-dir属性表示该应用的实际路径。如
&app-dir&d:\resin\doc\test&/app-dir&表示该应用在d:\resin\
doc\test目录下面。默认值为根下面的和id同名的目录。
3.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永久保存在数据库中。其实也就是会话变量的序列化后的保存和重新载入的物理实现。
resin3.1.6配置文件resin.conf如下:
&resin xmlns=""
xmlns:resin=""&
&!-- 加载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日志接口的配置. 日志信息的级别:'info' 生产环境 'fine' 开发环境
'finer' 调试环境 --&
&log name="" level="fine" path="stdout:"
timestamp="[%H:%M:%S.%s] "/&
&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
&!-- 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&
&!-- - 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&
&memory-free-min&1M&/memory-free-min&&!--
强制resin重起时的最小空闲内存 --&
&thread-max&256&/thread-max&&!--
最大线程数量. --&
&socket-timeout&65s&/socket-timeout&&!--
套接字等待时间 --&
&keepalive-max&128&/keepalive-max&&!--
配置 keepalive --&
&keepalive-timeout&15s&/keepalive-timeout&
&/server-default&
&!-- 定义群集服务器 --&
&server id="" address="127.0.0.1"
port="6800"/&
&!-- Configures the persistent store for
single-server or clustered 配置独立服务器或者群集的持久化存储,专业版的功能
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&
&!-- 缓存启用 (专业版的功能) --&
test="${isResinProfessional}"&
&cache path="cache"
memory-size="64M"&
&!-- Vary header rewriting for IE
&rewrite-vary-as-private/&
&/resin:if&
&!-- 启用周期性的服务器状态检查和死锁检查,所有的服务器可以添加
&url& 来检查。 --&
test="${isResinProfessional}"&
&url&http://localhost:8080/test-ping.jsp&/url&
&/resin:if&
&!-- 包含web应用的默认行为 --&
&resin:import
path="${resin.home}/conf/app-default.xml"/&
&!-- 每一个web应用的默认参数 --&
class=hilite1&web-app-default&/SPAN&&
扩展库的公共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
&validate-taglib-schema&true&/validate-taglib-schema&
&fast-jstl&true&/fast-jstl&
&fast-jsf&true&/fast-jsf&
class=hilite1&web-app-default&/SPAN&&
&!-- 简单的数据池配置[The JDBC name is
java:comp/env/jdbc/mysql]--&
&database&
&jndi-name&jdbc/mysql&/jndi-name&
type="org.gjt.mm.mysql.Driver"&
&url&jdbc:mysql://localhost:3306/test&/url&
&user&&/user&
&password&&/password&
&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="/justoneweb"
root-directory="D:\work\justoneweb\java\web"/&
&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 id="" &
&web-app id="/"
root-directory="E:\resin-3.1.6\deploy\WokeTool1.0"
&/cluster&
&!-- - Configuration for the web-tier/load-balancer
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&
&/cluster&
&/resin:if&
二、Resin 的 watchdog(看门狗)介绍
为了稳定和安全,Resin使用一个独立的watchdog进程来启动和监视Resin服务器。
watchdog连续你检测Resin服务器的状态,如果其没有反应或者迟钝,将会重启Resin服务器进程。
大多数情况下,watchdog从resin.xml中读取配置信息,而不需要其它的附加配置。
某些ISP服务商可能使用特别的配置,为了安全他们会配置watchdog来隔离JVM(Java虚拟主机)。
因为watchdog作为一个服务运行,大多数情况下你根本不需要注意它。
标准的配置下,一个机器上的watchdog可以监视这个机器上所有JVM,因此大部分情况下你不需要修改watchdog的配置。
需要你管理watchdog的任务就是,如果机器发生了问题,停止watchdog,并检查
watchdog日志中Resin服务器的重启事件。
watchdog自动重启崩溃和退出的Resin服务。因此如果你想停止Resin,你需要告诉watchdog来停止Resin实例,或者完全停止watchdog。
使用resin.jar中的主程序(main)来控制watchdog,有用来启动、停止、重启Resin实例的命令,同样还有报告watchdog状态的命令。
大多数用户不需要特别的配置watchdog,但是ISP和大的站点可能创建特殊的watchdog.xml(包含&watchdog-
manager&标签)来控制watchdog。
&watchdog-manager&允许ISP控制watchdog,为他们用户的
Resin实例指定附加的命令行参数,包括为他们的用户创建安全的chroot环境的能力。
典型地,watchdog以root帐号运行,然而用户实例使用他们各自的用户id。
  resin.jar中的主类ResinBoot的命令行用来控制watchdog。主要的操作包括:start、stop、restart、shutdown和status。
"start"命令使用给定的server
id启动一个新的Resin实例。ResinBoot首先会尝试在当前机器上的watchdog,在需要时会启动一个新的watchdog。
&在resin.xml中定义的server id必须是惟一的。
例如: watchdog启动
resin-3.2.x& java -jar lib/resin.jar -conf
conf/test.conf -server a start
Resin/3.2.x started -server 'a' for watchdog at 127.0.0.1:6700
"stop"命令使用给定的server
id停止Resin实例。如果停止的实例是watchdog管理的最后一个Resin实例,watchdog也会自动退出。
如果没有指定 -server 参数,watchdog使用默认的 -server "" 。
例子: watchdog停止
resin-3.2.x& java -jar lib/resin.jar stop
Resin/3.2.x started -server '' for watchdog at 127.0.0.1:6600
"status"命令统计被watchdog服务管理的Resin实例的状态。
例子: watchdog状态
resin-3.2.x& java -jar lib/resin.jar status
Resin/3.2.x status for watchdog at 127.0.0.1:6600
server '' : active
& password: missing
& user: ferg
& root: /home/test/resin/
& conf: /etc/resin/resin.xml
单一Resin实例
  这个例子显示了一个单一服务器站点,其监听标准的HTTP端口80,并以resin这个用户身份运行。在这个例子中watchdog是以root用户身份运行的,
因此其能够绑定到特殊的端口80上,但是Resin实例是以resin身份运行的。
因为使用了默认的配置,watchdog监听6600端口来获取命令。
例子: /etc/resin/resin.xml
&resin xmlns=""&
&cluster id=""&
& &server id="app-a"
address="127.0.0.1"&
&user-name&resin&/user-name&
&group-name&resin&/group-name&
&http port="80" /&
& &/server&
& &resin:import
path="${resin.home}/conf/app-default.xml" /&
&web-app id="" path="/var/www/htdocs"
&/cluster&
在一个机器上使用共享的watchdog实现负载平衡
  当在一个机器上运行多个Resin实例的时候,一个watchdog-manager就能管理所有的Resin实例。
指定server id用来决定那个Resin实例是start或者stop。
在这个例子中,有一个web-tier服务器做为负载平衡器,两个app-tier服务器处理后台数据,它们都在一个机器上。
为了维护和升级方便,一个站点可能需要多个app-rier服务器。当一个停机的时候,第二个服务器可以继续服务。
这个例子使用默认的watchdog配置,其读取的是标准的resin.xml文件。
watchdog进程和ResinBoot都读取resin.xml 配置文件,因此不需要特别的watchdog配置。
watchdog能够自动发现运行在这个机器上的多个Resin实例并管理它们。
例子: /etc/resin/resin.xml
&resin xmlns=""&
&cluster id="app-tier"&
&server-default&
&user-name&resin&/user-name&
&group-name&resin&/group-name&
&/server-default&
& &server id="app-a"
address="192.168.1.10" port="6810" /&
& &server id="app-b"
address="192.168.1.10" port="6811" /&
&web-app id="" path="/var/www/htdocs"
&/cluster&
&cluster id="web-tier"&
&server-default&
&user-name&resin&/user-name&
&group-name&resin&/group-name&
&/server-default&
& &server id="web-a"
address="192.168.1.10" port="6800"&
&http port="80" /&
& &/server&
&web-app id=""&
&rewrite-redirect&
&load-balance regexp="" cluster="app-tier"
&/rewrite-redirect&
&/web-app&
&/cluster&
同一机器使用不同的watchdog来实现负载平衡
在某些情况下,最好让每个Resin实例有其自己的watchdog,例如当多个用户在使用相同的机器。每个&server&块配置一个&watchdog-port&。
因为watchdog将读取resin.xml使用&server&块匹配命令行参数中的
-server id,每个watchdog将启动期自己的端口。
例子: /etc/resin/resin.xml
&resin xmlns=""&
&cluster id="app-tier"&
&server-default&
&user-name&resin&/user-name&
&group-name&resin&/group-name&
&/server-default&
& &server id="app-a"
address="192.168.1.10" port="6810"&
&watchdog-port&6700&/watchdog-port&
&http port="8080" /&
& &/server&
& &server id="app-b"
address="192.168.1.10" port="6811"&
&watchdog-port&6701&/watchdog-port&
&http port="8081" /&
& &/server&
&web-app id="" path="/var/www/htdocs"
&/cluster&
  在上面的例子中,启动Resin, 使用 -server app-a参数将启动一个在端口6700上的watchdog,使用
-server app-b参数将启动一个在端口6701上的watchdog。
例子: starting app-b with watchdog-port=6701
resin-3.2.x& java -jar lib/resin.jar -server
app-b start
ISP watchdog管理
  在ISP的环境中,你可能需要为watchdog使用一个隔离的配置文件,它为不同的用户启动Resin实例。在这个情况下,你要确保watchdog.xml不能被这些普通用户读取,要创建一个管理用户来读取这个文件。
&#9679;启动和重启用户的Resin JVM
&#9679;设置JVM参数和Java可执行性
&#9679;设置Resin实例的root-directory
&#9679;setuid user-name 和 group-name
&#9679;设置resin.xml配置
&#9679;打开受保护的端口,例如80
&#9679;可选的chroot设置
watchdog将使用给定的帐号作为setuid来启动Resin实例。它也能打开任何需要的保护端口,例如80。
例子: /etc/resin/watchdog.xml
&resin xmlns=""&
&management&
& &user name="harry"
password="MD5HASH==" /&
&/management&
&watchdog-manager&
&watchdog-default&
&jvm-arg&-Xmx256m&/jvm-arg&
&/watchdog-default&
& &watchdog
id="user_1"&
&user-name&user_1&/user-name&
&group-name&group_1&/group-name&
&resin-xml&/home/user_1/conf/resin.xml&/resin-conf&
&resin-root&/home/user_1/www&/resin-root&
&open-port address="192.168.1.10" port="80"
& &/watchdog&
& &watchdog
id="user_n"&
&user-name&user_n&/user-name&
&group-name&group_n&/group-name&
&resin-conf&/home/user_n/conf/resin.xml&/resin-conf&
&resin-root&/home/user_n/www&/resin-root&
&open-port address="192.168.1.240" port="80"
& &/watchdog&
&/watchdog-manager&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&}

我要回帖

更多关于 resin war 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信