如何将JBoss做成Redhat Linux的系统服务

 我来答
匿名用户
推荐于2016-01-24
展开全部

创建一个脚本叫 /etc/rc.d/init.d/jboss 创建一个链接叫 /etc/rc3.d/S84jboss 可选的方式 /etc/rc5.d/S84jboss 和/etc/rc4.d/S84jboss 创建一个链接叫 /etc/rc6.d/K15jboss 在/etc/rc1.d, /etc/rc2.d, /etc/rc0.d 上创建K15链接

需要注意的是:确保$JBOSS_HOME 目录能被”jboss”用户读写。如果有问题,可以点击查看 JBoss应用服务器推荐UNIX文件系统许可。

创建脚本jboss:

JBoss 4.0.1+版本,在bin 目录配备 prebaked init 脚本, jboss_init_redhat.sh 和 jboss_init_suse.sh. 你可以复制这些脚本中的一个到 /etc/rc.d/init.d/jboss, 由于我用的是redhat,所以复制jboss_init_redhat.sh,并修改它为可执行。

[root@vm2 ~]# cp $JBOSS_HOME/bin/jboss_init_redhat.sh /etc/rc.d/init.d/jboss [root@vm2 ~]# chmod 755 /etc/rc.d/init.d/jboss 其中,$JBOSS_HOME在你操作的时候不能这样写,它代表的是你的jboss安装的目录,到时你需要替换掉它。

然后使用vi编辑器编辑它:


#换成你本机jboss的安装目录 
JBOSS_HOME=${JBOSS_HOME:-"/home/jboss/jboss-4.0.5.GA"} 
#换成你新建的jboss用户 
JBOSS_USER=${JBOSS_USER:-"jboss"} 
#换成本地java路径 
JAVAPTH=${JAVAPTH:-"/home/jboss/jdk1.5.0_14/bin"} 
#启动的配置参数,有3个值: 'minimal', 'default', 'all',all是集群模式的配置 
JBOSS_CONF=${JBOSS_CONF:-"default"} 
#这里是绑定所有的网卡,如果绑一个,就写你的IP地址。只在jboss4.2.0+的版本对外使用时才使用。 
#JBOSS_HOST=${JBOSS_HOST:-"0.0.0.0"} 
#默认的关闭脚本,好像不太好用,我就没用 
#JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.jar:$JBOSS_HOME/client/jnet.jar"} 
#jboss4.2.0+版本对外服务绑定Ip的时候的关闭脚本 
#JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.sh -S -s $JBOSS_HOST"} 
#jboss关闭脚本 
JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.sh -S"} 
#这是jboss4.2.0+版本对外服务时的启动 
#JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF -b $JBOSS_HOST"} 
#jboss启动 
JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF"} 
if [ "$JBOSS_USER" = "RUNASIS" ]; then 
SUBIT="" 
else 
SUBIT="su - $JBOSS_USER -c " 
fi 
if [ -n "$JBOSS_CONSOLE" -a ! -d "$JBOSS_CONSOLE" ]; then 
# ensure the file exists 
touch $JBOSS_CONSOLE 
if [ ! -z "$SUBIT" ]; then 
chown $JBOSS_USER $JBOSS_CONSOLE 
fi 
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" 
echo "WARNING: ignoring it and using $JBOSS_HOME/jbossAutoStart.log" 
#自启动日志 
#JBOSS_CONSOLE="/dev/null" 
JBOSS_CONSOLE=${JBOSS_CONSOLE:-"$JBOSS_HOME/jbossAutoStart.log"} 
fi 
#自启动日志 
#JBOSS_CONSOLE=${JBOSS_CONSOLE:-"/dev/null"} 
JBOSS_CONSOLE=${JBOSS_CONSOLE:-"$JBOSS_HOME/jbossAutoStart.log"} 
JBOSS_CMD_START="cd $JBOSS_HOME/bin; $JBOSSSH"
#这个是默认的,跟上面的一样,不太好用
#JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown --shutdown -S"} 
#我自己用的关闭方式
JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"cd $JBOSS_HOME/bin; $JBOSSCP"} 
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 JBOSS_CMD_START = $JBOSS_CMD_START 
case "$1" in 
start) 
echo "JBoss start.........." 
cd $JBOSS_HOME/bin 
if [ -z "$SUBIT" ]; then 
eval $JBOSS_CMD_START >${JBOSS_CONSOLE} 2>&1 & 
else 
$SUBIT "$JBOSS_CMD_START >${JBOSS_CONSOLE} 2>&1 &" 
fi 
;; 
stop) 
echo "JBoss stop........." 
if [ -z "$SUBIT" ]; then 
$JBOSS_CMD_STOP 
else 
$SUBIT "$JBOSS_CMD_STOP" 
fi 
;; 
restart) 
echo "JBoss restart........" 
$0 stop 
sleep 60 
$0 start 
;; 
*) 
echo "usage: $0 (start|stop|restart|help)" 
esac
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式