优化启动
使用上述方式进行启动固然可以成功,但是启动略显繁琐,最好使用脚本实现,因此可以利用已有的脚本(go.sh)
对go.sh进行修改
1.修改环境变量
1: rm -rf /usr/local/jboss-4.2.2.GA/server/default/tmp/*
2: rm -rf /usr/local/jboss-4.2.2.GA/server/default/work/*
3:
4: export JAVA_HOME=/usr/java/jdk1.5.0_07
5: export JBOSS_HOME=/usr/local/jboss-4.2.2.GA
6: export LANG=zh_CN.GB18030
如上述代码,主要将JBOSS_HOME修改为/usr/local/jboss2
2.修改其他启动项目
go.sh脚本启动的时候,会将进程信息写入/var/run/jboss.pid,为了以后使用./go.sh stop的时候结束jboss,需要对此处进行修改。
1: if [ "$1" = "start" ] ; then
2:
3: shift
4:
5: $JAVACMD $JAVA_OPTS -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" /
6: -classpath "$CLASSPATH" /
7: org.jboss.Main $START_OPTS 1> /dev/null 2>&1 &
8:
9: echo $! > "/var/run/jboss.pid"
10:
11: JBOSS_PID=$!
12:
13: # Trap common signals and relay them to the jboss process
14: trap "kill -HUP $JBOSS_PID" HUP
15: trap "kill -TERM $JBOSS_PID" INT
16: trap "kill -QUIT $JBOSS_PID" QUIT
17: trap "kill -PIPE $JBOSS_PID" PIPE
18: trap "kill -TERM $JBOSS_PID" TERM
19:
20: echo "JBOSS START..........[OK]"
21:
22: elif [ "$1" = "stop" ] ; then
23: shift
24:
25: cp $JBOSS_HOME/server/default/log/server.log $JBOSS_HOME/server/default/log/server.log.$backupdate
26:
27: kill -15 `cat /var/run/jboss.pid`
28: rm -rf "/var/run/jboss.pid"
29: sleep 3s
30: #killall -9 java
31:
32: echo "JBOSS STOP..........[OK]"
将上述echo $! > "/var/run/jboss.pid",修改为echo $! > "/var/run/jboss2.pid";同时对于stop参数的处理脚本中,
1: kill -15 `cat /var/run/jboss.pid`
2: rm -rf "/var/run/jboss.pid"
3: sleep 3s
4: killall -9 java
将jboss.pid修改为jboss2.pid,同时将killall -9 java进行注释,即#killall -9 java(该句脚本的作用是,当脚本适用于单jboss的时候,防止上述java进程未结束),同样,对于第一个jboss的go.sh脚本,该句killall -9 java同样需要进行注释掉,否则关掉该jboss的时候,会杀掉所有的jboss进程。
启动:同样的执行两个go.sh,两个jboss毫无冲突的启动起来。
总结:在同一个机器上面配置两个JBoss,主要需要的知识点为:1.JBoss关键端口的配置以及更改;2.Linux相关环境变量的知识。另外,仔细分析相关的启动日志,便会找到相关的问题所在。