一机运行多个resin的配置

 对于java应用服务器,常用的一般为tomcat、jboss、resin。

一. 概述

 经常会有这种情况:

1、一台服务器上,跑多个java应用

2、网站负载高,需要采用负载均衡(轮询)的方式来解决

一般用多个java应用服务器软件,或者用一个采用集群的方式; 

二. 跑多个项目,或者做balance的方法

 方法一:再安装一个resin,指向不同的项目目录  

在安装完毕之后:

修改resin.conf里面的http port、cluster port和web-app目录;启动,就ok了。

方法二:只安装一个resin,使用不同的配置文件,指向不同的项目目录。方法二的配置相对复杂些。

1.安装好一个resin之后,cp resin.conf resin1.conf,分别修改另个resin,找到找到配置文件中的<!-- define the servers in the cluster -->,修改负载均衡配置,需要设置服务的ID、IP和port。 resin.conf修改为:

<server id="yk" address="127.0.0.1" port="6800"/>  

resin1.conf 修改为:

<server id="yk1" address="127.0.0.1" port="6801"/>  

resin2.con修改为:

<server id="yk2" address="127.0.0.1" port="6802"/> 注:其中修改http port,web-app 目录,jvm参数、最大线程数的修改,根据需要去调整。

2.拿部署的配置跟我的配置对比下:

[yangkai@mp2 conf]$ diff resin.conf webresin

 84c84  

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

> <cluster id="app-1">  

107c107  

< <jvm-arg>-Xmx256m</jvm-arg>  ---  

> <jvm-arg>-Xmx3096m</jvm-arg>  

130c130  

< <thread-max>256</thread-max>  ---  

> <thread-max>20480</thread-max>  

149c149

 < <server id="yk" address="127.0.0.1" port="6800"/>  ---  

> <server id="a" address="127.0.0.1" port="6801"/>  

269a270  >

<stdout-log path="${resin.home}/log/stdout-cms.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>  

300c301  

< <web-app id="/" root-directory="/home/yangkai/dir"/>  ---  

> <web-app id="/" root-directory="/data/touchcms"/>

 [yangkai@mp2 conf]$ 其中84行的没必要修改。其中配置文件中,主要修改的,也就这些参数。

3.启动过程

[yangkai@mp2 conf]$ ../bin/httpd.sh -conf ./webresin.conf -server a stop  Resin/3.1.10 can't stop -server 'a' for watchdog at 127.0.0.1:6600.  java.lang.IllegalStateException: Can't connect to ResinWatchdogManager.  java.net.ConnectException: http://127.0.0.1:6600/watchdog: Connection refused  

[yangkai@mp2 conf]$ vim startallre.sh  "startallre.sh" [New File]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0,0-1 All-- INSERT --0,1 All

#!/bin/bash2,1 All  

/opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-cms.conf -server a start  

/opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-zixun.conf -server b start  

/opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-shenghuo.conf -server c  start

/opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-kefu.conf -server d start

6,78 All:6,79 All6,78 All6,77 All:%  :%s  :%s/  :%s//  :%s///  :%s///g  :%s/o//g  :%s/op//g  :%s/opt//g  :%s/opt/h/g  :%s/opt/ho/g  :%s/opt/hom/g  :%s/opt/home/g  :%s/opt/home  8 substitutions on 4 lineshome/resin/bin/httpd.sh -conf /home/resin/conf/resin-cms.conf -server a start  

/home/resin/bin/httpd.sh -conf /home/resin/conf/resin-zixun.conf -server b start  

/home/resin/bin/httpd.sh -conf /home/resin/conf/resin-shenghuo.conf -server c start  

/home/resin/bin/httpd.sh -conf /home/resin/conf/resin-kefu.conf -server d start

6,1 All  8 substitutions on 4 lines6,1 All6,1 All4 changes; before #2 3 seconds ago

opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-cms.conf -server a start

opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-zixun.conf -server b start

opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-shenghuo.conf -server c start

opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-kefu.conf -server d start

3,1 All:%  :%s  :%s/  :%s//  :%s///  :%s///g  :%s/o//g  :%s/op//g  :%s/opt//g  :%s/opt/&/g  :%s/opt/&/g  :%s/opt/&//g  :%s/opt/&/h/g  :%s/opt/&/ho/g  :%s/opt/&/hom/g  :%s/opt/&/home/g  :%s/opt/&/home  8 substitutions on 4 lineshome/resin/bin/httpd.sh -conf /opt/home/resin/conf/resin-cms.conf -server a starthome/resin/bin/httpd.sh -conf /opt/home/resin/conf/resin-zixun.conf -server b starthome/resin/bin/httpd.sh -conf /opt/home/resin/conf/resin-shenghuo.conf -server c starthome/resin/bin/httpd.sh -conf /opt/home/resin/conf/resin-kefu.conf -server d start6,1 All  8 substitutions on 4 lines6,1 All6,1 All4 changes; before #3 8 seconds agoresin/bin/httpd.sh -conf /opt/resin/conf/resin-cms.conf -server a startresin/bin/httpd.sh -conf /opt/resin/conf/resin-zixun.conf -server b startresin/bin/httpd.sh -conf /opt/resin/conf/resin-shenghuo.conf -server c startresin/bin/httpd.sh -conf /opt/resin/conf/resin-kefu.conf -server d start3,1 All:%  :%s  :%s/  :%s//  :%s///  :%s///g  :%s/o//g  :%s/op//g  :%s/opt//g  :%s/opt/h/g  :%s/opt/ho/g  :%s/opt/hom/g  :%s/opt/home/g  :%s/opt/home/g  :%s/opt/home//g  :%s/opt/home/y/g  :%s/opt/home/ya/g  :%s/opt/home/yan/g  :%s/opt/home/yang/g  :%s/opt/home/yangk/g  :%s/opt/home/yangka/g  :%s/opt/home/yangkai/g  :%s/opt/home/yangkai  8 substitutions on 4 lineshome/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin-cms.conf -server a start  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin-zixun.conf -server b start  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin-shenghuo.conf -server c start  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin-kefu.conf -server d start6,1 All  8 substitutions on 4 lines6,1 All6,1 All~ 5,1 All4,1 All4,2 All4,3 All4,4 All4,5 All4,6 All4,7 All4,8 All4,9 All4,10 All4,11 All4,12 All4,13 All4,14 All4,15 All4,16 All4,17 All4,18 All4,19 All4,20 All4,21 All4,22 All4,23 All4,24 All4,25 All4,26 All4,27 All4,28 All4,29 All4,30 All4,31 All4,32 All4,33 All4,34 All4,35 All4,36 All4,37 All4,38 All4,39 All4,40 All4,41 All4,42 All4,43 All4,44 All4,45 All4,46 All4,47 All4,48 All3,48 All3,49 All3,50 All3,51 All3,52 All3,53 All3,54 All3,55 All3,56 All3,57 All3,58 All3,59 All3,60 All3,61 All3,62 All3,63 All3,64 All3,65 All3,66 All3,67 All3,68 All3,69 All3,70 Allcms.conf -server a startms.conf -server a starts.conf -server a start.conf -server a start4,70 Allzixun.conf -server b startixun.conf -server b startxun.conf -server b startun.conf -server b startn.conf -server b start.conf -server b start-- INSERT --4,70 All1.conf -server b start4,71 All5,71 All5,70 Allx-shenghuo.conf -server c start5,71 Allx-shenghuo.conf -server c start5,72 All5,73 All5,74 All5,75 All5,76 All5,77 All5,78 All5,79 All5,80 All5,81 Al.conf -server c start5,80 Al.conf -server c start5,79 Al.conf -server c start5,78 Al.conf -server c start5,77 Al.conf -server c start5,76 Al.conf -server c start5,75 Al.conf -server c start5,74 Al.conf -server c start5,73 Al.conf -server c start5,72 Al.conf -server c start5,71 Al.conf -server c start5,70 All2.conf -server c start5,71 All4,71 All3,71 All3,72 All3,73 All3,74 All3,75 All3,76 All3,77 All3,78 All3,79 All3,80 All3,81 All3,82 All3,83 All3,84 All3,85 Al start3,84 Ally start3,85 Alll start3,86 Al start3,85 Allk start3,86 All4,86 Al start4,85 Ally start4,86 Allk start4,87 All1 start4,88 All5,88 All5,87 All5,86 Al start5,85 Ally start5,86 Allk start5,87 All2 start5,88 All5,87 All:w  :wq  :wq  "startallre.sh"  "startallre.sh" [New] 5L, 293C written  [yangkai@mp2 conf]$ cp startallre.sh stopallre.sh  [yangkai@mp2 conf]$ vim stopallre.sh  "stopallre.sh"  "stopallre.sh" 5L, 293C#!/bin/bash

 /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin.conf -server yk start  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin1.conf -server yk1 start  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin2.conf -server yk2 start  ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1,1 All:%  :%s  :%s/  :%s//  :%s///  :%s///g  :%s/s//g  :%s/st//g  :%s/str//g  :%s/str  :%s/st//g:%s/sta//g  :%s/star//g  :%s/start//g  :%s/start/s/g  :%s/start/st/g  :%s/start/sto/g  :%s/start/stop/g  :%s/start/stop  3 substitutions on 3 linesopopop5,1 All  3 substitutions on 3 lines5,1 All5,1 All:w  :wq  :wq  "stopallre.sh"  "stopallre.sh" 5L, 290C written  [yangkai@mp2 conf]$ chmod +x *sh  [yangkai@mp2 conf]$ ./stopallre.sh  Resin/3.1.10 can't stop -server 'yk' for watchdog at 127.0.0.1:6600.  java.lang.IllegalStateException: Can't connect to ResinWatchdogManager.  java.net.ConnectException: http://127.0.0.1:6600/watchdog: Connection refused  Resin/3.1.10 can't stop -server 'yk1' for watchdog at 127.0.0.1:6600.  java.lang.IllegalStateException: Can't connect to ResinWatchdogManager.  java.net.ConnectException: http://127.0.0.1:6600/watchdog: Connection refused  Resin/3.1.10 can't stop -server 'yk2' for watchdog at 127.0.0.1:6600.  java.lang.IllegalStateException: Can't connect to ResinWatchdogManager.  java.net.ConnectException: http://127.0.0.1:6600/watchdog: Connection refused  [yangkai@mp2 conf]$ ./startallre.sh  Resin/3.1.10 started -server 'yk' for watchdog at 127.0.0.1:6600  Resin/3.1.10 started -server 'yk1' for watchdog at 127.0.0.1:6600  Resin/3.1.10 started -server 'yk2' for watchdog at 127.0.0.1:6600  [yangkai@mp2 conf]$ netstat -tnl  Active Internet connections (only servers)  Proto Recv-Q Send-Q Local Address Foreign Address State  tcp 0 0 0.0.0.0:29472 0.0.0.0:* LISTEN  tcp 0 0 0.0.0.0:14538 0.0.0.0:* LISTEN  tcp 0 0 192.168.61.68:1521 0.0.0.0:* LISTEN  tcp 0 0 0.0.0.0:37494 0.0.0.0:* LISTEN  tcp 0 0 0.0.0.0:49400 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6013 0.0.0.0:* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6600 :::* LISTEN  tcp 0 0 :::29518 :::* LISTEN  tcp 0 0 :::8080 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6800 :::* LISTEN  tcp 0 0 :::8081 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6801 :::* LISTEN  tcp 0 0 :::8082 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6802 :::* LISTEN  tcp 0 0 :::26645 :::* LISTEN  tcp 0 0 :::22 :::* LISTEN  tcp 0 0 ::1:6012 :::* LISTEN  tcp 0 0 ::1:6013 :::* LISTEN  tcp 0 0 :::23070 :::* LISTEN  tcp 0 0 :::9758 :::* LISTEN  [yangkai@mp2 conf]$ ./stopallre.sh  Resin/3.1.10 stopped -server 'yk' for watchdog at 127.0.0.1:6600  Resin/3.1.10 stopped -server 'yk1' for watchdog at 127.0.0.1:6600  Resin/3.1.10 stopped -server 'yk2' for watchdog at 127.0.0.1:6600  [yangkai@mp2 conf]$ netstat -tnl  Active Internet connections (only servers)  Proto Recv-Q Send-Q Local Address Foreign Address State  tcp 0 0 0.0.0.0:14538 0.0.0.0:* LISTEN  tcp 0 0 192.168.61.68:1521 0.0.0.0:* LISTEN  tcp 0 0 0.0.0.0:20370 0.0.0.0:* LISTEN  tcp 0 0 0.0.0.0:6999 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6013 0.0.0.0:* LISTEN  tcp 0 0 0.0.0.0:43583 0.0.0.0:* LISTEN  tcp 0 0 :::22 :::* LISTEN  tcp 0 0 ::1:6012 :::* LISTEN  tcp 0 0 ::1:6013 :::* LISTEN  [yangkai@mp2 conf]$ cat startallre.sh  #!/bin/bash

 /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin.conf -server yk start  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin1.conf -server yk1 start  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin2.conf -server yk2 start  [yangkai@mp2 conf]$ cat stopallre.sh  #!/bin/bash

 /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin.conf -server yk stop  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin1.conf -server yk1 stop  /home/yangkai/resin/bin/httpd.sh -conf /home/yangkai/resin/conf/resin2.conf -server yk2 stop  [yangkai@mp2 conf]$ echo "i will go to sleep,bye.  i will go to sleep,bye.  [yangkai@mp2 conf]$

 ### END LOG - DATE: 120429, TIME: 004713 ###

[yangkai@mp2 dir1]$ cd WEB-INF/  [yangkai@mp2 WEB-INF]$ ls  classes tmp work  [yangkai@mp2 WEB-INF]$ file work/_jsp/_index__jsp.  _index__jsp.class _index__jsp.java _index__jsp.java.smap  [yangkai@mp2 WEB-INF]$ file work/_jsp/_index__jsp.java  work/_jsp/_index__jsp.java: ASCII C program text  [yangkai@mp2 WEB-INF]$ file work/_jsp/_index__jsp.jav work/_jsp/_index__jsp.java work/_jsp/_index__jsp.java work/_jsp/_index__jsp.java  l work/_jsp/_index__jsp.java  l work/_jsp/_index__jsp.java-rwxr-xr-x 1 root root 5611 Apr 28 19:35 work/_jsp/_index__jsp.java  [yangkai@mp2 WEB-INF]$ ;s  -bash: syntax error near unexpected token `;'  [yangkai@mp2 WEB-INF]$ cd ..  [yangkai@mp2 dir1]$ sudo chmod -R 777 /home/yangkai/*

 [sudo] password for yangkai:  [yangkai@mp2 dir1]$ echo "ok  ok  [yangkai@mp2 dir1]$

 4.64上查看:

61.64  [root@mp2 conf]# netstat -tnl  Active Internet connections (only servers)  Proto Recv-Q Send-Q Local Address Foreign Address State  tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN  tcp 0 0 :::8096 :::* LISTEN  tcp 0 0 :::2499 :::* LISTEN  tcp 0 0 :::50790 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6600 :::* LISTEN  tcp 0 0 :::5001 :::* LISTEN  tcp 0 0 :::42985 :::* LISTEN  tcp 0 0 :::8080 :::* LISTEN  tcp 0 0 :::80 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6801 :::* LISTEN  tcp 0 0 :::8081 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6802 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6803 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6804 :::* LISTEN  tcp 0 0 :::12470 :::* LISTEN  tcp 0 0 :::22 :::* LISTEN  tcp 0 0 ::1:6011 :::* LISTEN  tcp 0 0 :::6972 :::* LISTEN  tcp 0 0 :::8095 :::* LISTEN  [root@mp2 conf]# ../bin/httpd.sh -conf ./resin-kefu.conf -server d stop  Resin/3.1.10 stopped -server 'd' for watchdog at 127.0.0.1:6600  [root@mp2 conf]# ../bin/httpd.sh -conf ./resin-kefu.conf -server d start  Resin/3.1.10 can't start -server 'd' for watchdog at 127.0.0.1:6600.  com.caucho.config.ConfigException: Resin/3.1.10 can't find configuration file '/opt/resin/resin-kefu.conf'  [root@mp2 conf]# netstat -tnl  Active Internet connections (only servers)  Proto Recv-Q Send-Q Local Address Foreign Address State  tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN  tcp 0 0 :::2499 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6600 :::* LISTEN  tcp 0 0 :::5001 :::* LISTEN  tcp 0 0 :::42985 :::* LISTEN  tcp 0 0 :::8080 :::* LISTEN  tcp 0 0 :::80 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6801 :::* LISTEN  tcp 0 0 :::8081 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6802 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6803 :::* LISTEN  tcp 0 0 :::12470 :::* LISTEN  tcp 0 0 :::22 :::* LISTEN  tcp 0 0 ::1:6010 :::* LISTEN  tcp 0 0 ::1:6011 :::* LISTEN  tcp 0 0 :::6972 :::* LISTEN  tcp 0 0 :::8095 :::* LISTEN  [root@mp2 conf]#  [root@mp2 conf]# cat /opt/resin/startall.sh  #!/bin/bash

 /opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-cms.conf -server a start  /opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-zixun.conf -server b start  /opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-shenghuo.conf -server c start  /opt/resin/bin/httpd.sh -conf /opt/resin/conf/resin-kefu.conf -server d start

 [root@mp2 conf]# . /opt/resin/stopall.sh  Resin/3.1.10 stopped -server 'a' for watchdog at 127.0.0.1:6600  Resin/3.1.10 stopped -server 'b' for watchdog at 127.0.0.1:6600  Resin/3.1.10 stopped -server 'c' for watchdog at 127.0.0.1:6600  Resin/3.1.10 can't stop -server 'd' for watchdog at 127.0.0.1:6600.  java.lang.IllegalStateException: Can't connect to ResinWatchdogManager.  java.net.ConnectException: http://127.0.0.1:6600/watchdog: Connection refused  [root@mp2 conf]# . /opt/resin/startall.sh  Resin/3.1.10 started -server 'a' for watchdog at 127.0.0.1:6600  Resin/3.1.10 started -server 'b' for watchdog at 127.0.0.1:6600  Resin/3.1.10 started -server 'c' for watchdog at 127.0.0.1:6600  Resin/3.1.10 started -server 'd' for watchdog at 127.0.0.1:6600  [root@mp2 conf]#netstat -tnl  Active Internet connections (only servers)  Proto Recv-Q Send-Q Local Address Foreign Address State  tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN  tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN  tcp 0 0 :::8096 :::* LISTEN  tcp 0 0 :::2499 :::* LISTEN  tcp 0 0 :::50790 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6600 :::* LISTEN  tcp 0 0 :::5001 :::* LISTEN  tcp 0 0 :::42985 :::* LISTEN  tcp 0 0 :::8080 :::* LISTEN  tcp 0 0 :::80 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6801 :::* LISTEN  tcp 0 0 :::8081 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6802 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6803 :::* LISTEN  tcp 0 0 ::ffff:127.0.0.1:6804 :::* LISTEN  tcp 0 0 :::12470 :::* LISTEN  tcp 0 0 :::22 :::* LISTEN  tcp 0 0 ::1:6011 :::* LISTEN  tcp 0 0 :::6972 :::* LISTEN  tcp 0 0 :::8095 :::* LISTEN

[root@mp2 conf]#

三、小结

1.使用resin版本很重要,上面是使用resin3.1.8测试的结果,使用reisn3.0.*就不行,前者的http.sh是40行,后者是84行;前者的resin.conf是正常的,后者里面找不到:

<cluster id="app-tier">  <!-- 设置集群上下文的根, 相对于server.root -->  <root-directory>.</root-directory> 也没有:

<!-- define the servers in the cluster --> 配置起来很麻烦。。。

2.其中如果对于方法的操作,resin的其启动与关闭,必须全部一起操作,否则就不会成功。这个是我测试的结果,开始我也以为不影响,调试了几个小时,最后发现是这个问题。也许是因为我某个地方配置不正确,谁知道请告诉我下,谢谢。

 四、问题

 关于性能上的问题,是使用一个resin使用不同的配置文件做集群性能好,还是安装多个resin性能好?如网站执行效率,服务器资源消耗等方面。

http://www.programgo.com/article/64642736946/

--希望是生命的瑰丽朝霞,我们应当在希望中生活,并在希望中奋进,去开拓我们的人生之路。
原文地址:https://www.cnblogs.com/nulisaonian/p/6037847.html