设为首页 收藏本站
查看: 3268|回复: 0

[经验分享] Resin安装使用

[复制链接]

尚未签到

发表于 2017-2-20 07:49:52 | 显示全部楼层 |阅读模式
一.简介

   Resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快。Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼APACHESERVER。许多站点都是使用该WEB服务器构建的。

Resin也可以和许多其他的WEB服务器一起工作,比如Apache server和IIS等。Resin支持Servlets 2.3标准和JSP 1.2标准。熟悉ASP和PHP的用户可以发现用Resin来进行JSP编程是件很容易的事情。

Resin支持负载平衡(Load balancing),可以增加WEB站点的可靠性。方法是增加服务器的数量。比如一台SERVER的错误率是1%的话,那么支持负载平衡的两个Resin服务器就可以使错误率降到0.01%。

 Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL(XML stylesheet language)可以使得形式和内容相分离。 如果您选用jsp平台作为internet商业站点的支持,那么速度、价格和稳定性都是要考虑到的,resin十分出色,表现更成熟,很具备商业软件的要求。而且,它是全免费的。从站点下载的就是完整版本。所以值得向您推荐! 相对于tomcat3.1,后者更象是一个正在研究的项目。resin可以支持sun的j2ee,而tomcat不能直接支持,而j2ee是基于java服务器端大系统的基础。
Resin3 之后已经不再是一个简单的jsp容器,并且支持ejb,jta等企业功能。resin4 (2010年后已经比较稳定)性能更是优秀。并且已经支持servlet 3.0标准. pro版本是收费版本,支持负载均衡和文件缓存。很多大型门户网站都采用pro版本作为应用服务器.

tomcat版本6.x也已经发展成为一个快速稳定的轻巧的jsp容器。和resin是不同的发展方向。tomcat6并不支持ejb,jta等高级功能,需要自己扩展,比较麻烦。但支持负载均衡。

CAUCHO公司,还为resin添加了php解析执行功能。能够运行php程序。但相对php的原生版本还是有一定差距。

版本区别

resin 普通版本和pro版本主要区别是 pro支持缓存和负载均衡。pro因为有强大的cache功能,独立作为web服务器处理静态页面性能都可以和apache有一比。但普通版本独立作为web服务器性能就要差一些。当然可以使用apache+resin的方案借助apache的缓存功能提高性能。 但负载均衡就是普通版不能比的了。

 

下载地址:http://caucho.com/products/resin/download

 二.windows下安装配置


1.首先需要安装JDK,然后将下载的文件解压到任意路径

2.运行setup.exe,进行配置



 

 3.运行resin.exe,进行启动



 出现以上界面,表示启动成功

4.点击第二个链接,进入管理界面



 先创建一个用户名密码

5.接下来按照提示将用户名密码写入配置文件



 

看描述不再多说

6.重启resin,再次点击即可进入管理界面

7.发布应用

(1)与tomcat类似的,将工程打包放在resin-4.0.40\webapps目录下,都懂的,不再多说

(2)找到conf/resin.xml,在其中的<host id="" root-directory="."> 节点加入工程路径

   <host id="" root-directory=".">
<!--
- webapps can be overridden/extended in the resin.xml
-->
<web-app id="/" root-directory="webapps/ROOT"/>
<web-app id="/demo" root-directory="D:/WorkSpace/demo/WebRoot"/>
</host>
 即可发布项目

 

三.linux下的安装配置

1.上传安装包并解压到/usr/local/resin-4.0.40

2.运行命令:

[iyunv@HTML5 resin-4.0.40]# ./configure --prefix=/usr/local/resin-4.0.40 --with-java-home=$JAVA_HOME --enable-64bit

出现报错:

configure: error: in `/usr/local/resin-4.0.40':

configure: error: no acceptable C compiler found in $PATH

See `config.log' for more details
  原因是centos linux,默认可以采用yum方式安装,则采用如下命令安装gcc编译器即可
  [iyunv@HTML5 resin-4.0.40]# yum -y install gcc
  再次运行配置成功!
  3.启动resin



[iyunv@HTML5 resin-4.0.40]# ./bin/resin.sh  start

Resin/4.0.40 launching watchdog at 127.0.0.1:6600

Resin/4.0.40 started -server 'app-0' with watchdog at 127.0.0.1:6600
  4.发布项目
  方式(1)(2)同windows下,但是这两种方式均不能单独启动一个应用,当有多个应用时重启resin会影响每一个项目,下面介绍一种能单独启动一个应用的方法:
  找到resin.xml,在最下面添加以下两个节点

<cluster id="test-hessian-server">
<!-- sets the content root for the cluster, relative to resin.root -->
<root-directory>.</root-directory>
<access-log path="/usr/local/resin-4.0.40/log/test_hessian_server_access.log
"
format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %
T'
rollover-period="1W" />
<server-default>
<http address="*" port="9080" />
<thread-max>10240</thread-max>
<thread-idle-timeout>60s</thread-idle-timeout>
<request-timeout>10s</request-timeout>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.port=51518</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.authenticate=false</jvm-arg>
<jvm-arg>-Xms512m</jvm-arg>
<jvm-arg>-Xmx512m</jvm-arg>
<jvm-arg>-Xmn256m</jvm-arg>
<jvm-arg>-Xss1024k</jvm-arg>
<jvm-arg>-XX:PermSize=256m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=512m</jvm-arg>
<jvm-arg>-XX:SurvivorRatio=8</jvm-arg>
<jvm-arg>-XX:MaxTenuringThreshold=8</jvm-arg>
<jvm-arg>-XX:GCTimeRatio=19</jvm-arg>
<socket-timeout>10s</socket-timeout>
<keepalive-max>128</keepalive-max>
<keepalive-timeout>15s</keepalive-timeout>
<keepalive-connection-time-max>60s</keepalive-connection-time-max>
<jvm-arg>-XX:+DisableExplicitGC</jvm-arg>
<jvm-arg>-XX:+UseParNewGC</jvm-arg>
<jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg>
<jvm-arg>-XX:+CMSPermGenSweepingEnabled</jvm-arg>
<jvm-arg>-XX:+UseCMSCompactAtFullCollection</jvm-arg>
<jvm-arg>-XX:CMSFullGCsBeforeCompaction=0</jvm-arg>
<jvm-arg>-XX:+CMSClassUnloadingEnabled</jvm-arg>
<jvm-arg>-XX:-CMSParallelRemarkEnabled</jvm-arg>
<jvm-arg>-XX:CMSInitiatingOccupancyFraction=70</jvm-arg>
<jvm-arg>-XX:SoftRefLRUPolicyMSPerMB=0</jvm-arg>
<jvm-arg>-XX:+PrintClassHistogram</jvm-arg>
<jvm-arg>-XX:+PrintGCDetails</jvm-arg>
<jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg>
<jvm-arg>-XX:+PrintGCApplicationConcurrentTime</jvm-arg>
<jvm-arg>-XX:+PrintGCApplicationStoppedTime</jvm-arg>
<jvm-arg>-XX:+HeapDumpOnOutOfMemoryError</jvm-arg>
<jvm-arg>-Xloggc:gc.log</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Xrunjdwp:transport=dt_socket,address=9988,server=y,suspend=n</
jvm-arg>
</server-default>
<server id="hessian-server" address="127.0.0.1" port="6801">
</server>
<host id="" root-directory="/usr">
<web-app id="/test-hessian-server" root-directory="local/web/test-hessia
n-server">
<character-encoding>utf-8</character-encoding>
<jsp>
<session>false</session>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp>
</web-app>
</host>
</cluster>

<cluster id="demo">
<!-- sets the content root for the cluster, relative to resin.root -->
<root-directory>.</root-directory>
<access-log path="/usr/local/resin-4.0.40/log/demo_access.log"
format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %
T'
rollover-period="1W" />
<server-default>
<http address="*" port="8080" />
<thread-max>10240</thread-max>
<thread-idle-timeout>60s</thread-idle-timeout>
<request-timeout>10s</request-timeout>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.port=51519</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote.authenticate=false</jvm-arg>
<jvm-arg>-Xms512m</jvm-arg>
<jvm-arg>-Xmx512m</jvm-arg>
<jvm-arg>-Xmn256m</jvm-arg>
<jvm-arg>-Xss1024k</jvm-arg>
<jvm-arg>-XX:PermSize=256m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=512m</jvm-arg>
<jvm-arg>-XX:SurvivorRatio=8</jvm-arg>
<jvm-arg>-XX:MaxTenuringThreshold=8</jvm-arg>
<jvm-arg>-XX:GCTimeRatio=19</jvm-arg>
<socket-timeout>10s</socket-timeout>
<keepalive-max>128</keepalive-max>
<keepalive-timeout>15s</keepalive-timeout>
<keepalive-connection-time-max>60s</keepalive-connection-time-max>
<jvm-arg>-XX:+DisableExplicitGC</jvm-arg>
<jvm-arg>-XX:+UseParNewGC</jvm-arg>
<jvm-arg>-XX:+UseConcMarkSweepGC</jvm-arg>
<jvm-arg>-XX:+CMSPermGenSweepingEnabled</jvm-arg>
<jvm-arg>-XX:+UseCMSCompactAtFullCollection</jvm-arg>
<jvm-arg>-XX:CMSFullGCsBeforeCompaction=0</jvm-arg>
<jvm-arg>-XX:+CMSClassUnloadingEnabled</jvm-arg>
<jvm-arg>-XX:-CMSParallelRemarkEnabled</jvm-arg>
<jvm-arg>-XX:CMSInitiatingOccupancyFraction=70</jvm-arg>
<jvm-arg>-XX:SoftRefLRUPolicyMSPerMB=0</jvm-arg>
<jvm-arg>-XX:+PrintClassHistogram</jvm-arg>
<jvm-arg>-XX:+PrintGCDetails</jvm-arg>
<jvm-arg>-XX:+PrintGCTimeStamps</jvm-arg>
<jvm-arg>-XX:+PrintGCApplicationConcurrentTime</jvm-arg>
<jvm-arg>-XX:+PrintGCApplicationStoppedTime</jvm-arg>
<jvm-arg>-XX:+HeapDumpOnOutOfMemoryError</jvm-arg>
<jvm-arg>-Xloggc:gc.log</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Xrunjdwp:transport=dt_socket,address=9989,server=y,suspend=n</
jvm-arg>
</server-default>
<server id="demo" address="127.0.0.1" port="6900">
</server>
<host id="" root-directory="/usr">
<web-app id="/demo" root-directory="local/web/demo">
<character-encoding>utf-8</character-encoding>
</web-app>
</host>
</cluster>

  然后重启resin
  /usr/local/resin-4.0.40/bin/resin.sh  restart -server demo
  /usr/local/resin-4.0.40/bin/resin.sh  restart -server hessian-server
  出现报错:
  错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.U
  nknownHostException: HTML5: HTML5: 未知的名称或服务
  修改hosts文件,错误解决:
  [iyunv@HTML5 pages]# cat /etc/hosts
  127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 HTML5
  再次重启又报错:
  [14-06-23 19:26:06.412] {resin-port-9080-51} Unable to find native library 'resin_os' for com.caucho.loader.ClassEntry. Resin expects to find this library in:
                           (Unix) /usr/local/resin-4.0.40/libexec64/libresin_os.so
                         On Unix, run ./configure --prefix=`pwd`; make; make install.
                         
                         The JVM exception was: java.lang.UnsatisfiedLinkError: no resin_os in java.library.path
  根据提示执行命令:./configure --prefix=`pwd`; make; make install
  提示 make: command not found
  执行命令:yum -y install gcc automake autoconf libtool make 安装该命令
  再次执行./configure --prefix=`pwd`; make; make install
  成功!
  重启resin,两个应用都成功运行!
  四.与Eclipse的集成



1. 3.7版本以上的Eclipse已经有resin server插件,window>>show views >>servers  进入servers面板后,鼠标右击new>server ,在New Server 对话框,找不到resin选项,然后就点击'Download additional server adapters' 选项,几秒钟后会弹出‘Install New Extension’对话框,有很多要下载的选项,选择'Resin (Java EE Web Profile) ,然后一路配置下去

 2.安装完插件,重启Eclipse,new server 选择resin,一路配置下去

 3.将工程添加进去,启动server即可

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-344430-1-1.html 上篇帖子: resin虚拟内存设置 下篇帖子: eclipse resin 配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表