?
Linux下配置JBoss自動啟動
?
?1. 操作系統:openSUSE 10.2
?
?2. JBOSS 4.2.2.GA
二. 實驗步驟
?CODE:# /etc/profile
?
?JAVA_HOME=/usr/local/j2sdk
?
?PATH=$PATH:$JAVA_HOME/bin
?
?CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar
?
?export JAVA_HOME PATH CLASSPATH
jboss安裝目錄:/usr/local/jboss
? 1. 添加jboss環境變量:
? #vi /etc/profile
? JBOSS_HOME=/usr/local/jboss? #根據你所安裝的jboss的目錄
? PATH=$PATH:$JBOSS_HOME/bin
? export JBOSS _HOME PATH
? 2. 復制JBoss4自帶的啟動文件到/etc/init.d下:
?
?? # cp /usr/local/jboss/bin/jboss_init_redhat.sh? /etc/init.d/jboss
? 3. 設置啟動腳步
??? ln -s /etc/init.d/jboss /etc/rc3.d/K20jboss
??? ln -s /etc/init.d/jboss /etc/rc3.d/S80jboss
??? ln -s /etc/init.d/jboss /etc/rc5.d/K20jboss
??? ln -s /etc/init.d/jboss /etc/rc5.d/S80jboss
???? 此時會在/etc/rc3.d和/etc/rc5.d下創建一個S80jboss的連接文件.
?
?? 4. 分配執行權限(為了簡單使用了777的權限)
??? chmod -f 777 /etc/init.d/jboss
??? chmod -f 777 /etc/rc3.d/S80jboss
??? chmod -Rf 777 $JBOSS_HOME? #根據你所安裝的jboss的目錄
?? 5. 編輯/etc/init.d/jboss文件,修改如下:
??
??#!/bin/sh
??
??#
??
??# JBoss Control Script
??
??#
??
??# chkconfig: 3 80 20
??
??# description: JBoss EJB Container
??
??#
??
??# To use this script
??
??# run it as root - it will switch to the specified user
??
??# It loses all console output - use the log.
??
??#
??
??# Here is a little (and extremely primitive)
??
??# startup/shutdown script for RedHat systems. It assumes
??
??# that JBoss lives in /usr/local/jboss, it's run by user
??
??# 'jboss' and JDK binaries are in /usr/local/jdk/bin. All
??
??# this can be changed in the script itself.
??
??# Bojan
??
??#
??
??# Either amend this script for your requirements
??
??# or just ensure that the following variables are set correctly
??
??# before calling the script
??
??# [ #420297 ] JBoss startup/shutdown for RedHat
??
??#define where jboss is - this is the directory containing directories log, bin, conf etc
??
??JBOSS_HOME=${JBOSS_HOME:-"/usr/local/jboss4x"}
??
??#make java is on your path
??
??JAVAPTH=${JAVAPTH:-"/usr/local/j2sdk1.4.2/bin"}
??
??#define the classpath for the shutdown class
??
??JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.jar:$JBOSS_HOME/client/jnet.jar"}
??
??#define the script to use to start jboss
??
??JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c all"}
??
??if [ -n "$JBOSS_CONSOLE" -a ! -d "$JBOSS_CONSOLE" ]; then
??
??# ensure the file exists
??
??touch $JBOSS_CONSOLE
??
??fi
??
??if [ -n "$JBOSS_CONSOLE" -a ! -f "$JBOSS_CONSOLE" ]; then
??
??echo "WARNING: location for saving console log invalid: $JBOSS_CONSOLE"
??
??echo "WARNING: ignoring it and using /dev/null"
??
??JBOSS_CONSOLE="/dev/null"
??
??fi
??
??#define what will be done with the console log
??
??JBOSS_CONSOLE=${JBOSS_CONSOLE:-"/dev/null"}
??
??#define the user under which jboss will run, or use RUNASIS to run as the current user
??
??JBOSSUS=${JBOSSUS:-"jboss"}
??
??CMD_START="cd $JBOSS_HOME/bin; $JBOSSSH"
??
??CMD_STOP="java -classpath $JBOSSCP org.jboss.Shutdown --shutdown"
??
??if [ "$JBOSSUS" = "RUNASIS" ]; then
??
??SUBIT=""
??
??else
??
??SUBIT="su - $JBOSSUS -c "
??
??fi
??
??if [ -z "`echo $PATH | grep $JAVAPTH`" ]; then
??
??export PATH=$PATH:$JAVAPTH
??
??fi
??
??if [ ! -d "$JBOSS_HOME" ]; then
??
??echo JBOSS_HOME does not exist as a valid directory : $JBOSS_HOME
??
??exit 1
??
??fi
??
??echo CMD_START = $CMD_START
??
??case "$1" in
??
??start)
??
??cd $JBOSS_HOME/bin
??
??if [ -z "$SUBIT" ]; then
??
??eval $CMD_START >${JBOSS_CONSOLE} 2>&1 &
??
??else
??
??$SUBIT "$CMD_START >${JBOSS_CONSOLE} 2>&1 &"
??
??fi
??
??;;
??
??stop)
??
??if [ -z "$SUBIT" ]; then
??
??$CMD_STOP
??
??else
??
??$SUBIT "$CMD_STOP"
??
??fi
??
??;;
??
??restart)
??
??$0 stop
??
??$0 start
??
??;;
??
??*)
??
??echo "usage: $0 (start|stop|restart|help)"
??
??esac
????
??? 6. 添加jboss用戶并分配組:
??? useradd jboss
??? usermod -G jboss,root jboss
??? 7. 配置完成,重新啟動Linux服務器 。
注:防火墻需要開通以下端口,jboss才能進行遠程訪問:
????????TCP:1099,1098,4444,4445,8009,8080,8083,8093,1100,0,3528 。
????????UDP:1102,1161,1162,45566 。