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

浏览:24日期:2022-07-30
;怎么做才能在启动Linux系统的时候JBoss也随之启动呢? 使用Linux系统的V脚本。尽管, 在分类之间有一些不同,通常它类似这样: /etc/rc.d/init.d/ - 包含开始 和 停止 脚本 (其他分类: /etc/init.d/) /etc/rc.(x)/ - 包含用S或者K前缀的开始和停止脚本链接(启动或者杀死) 对于各种不同层次的系统用户有各种不同的运行级别。 rc1.d – 单用户模式 rc2.d – 启用网络的单用户模式 rc3.d – 多用户模式-用文本模式启动 rc4.d – 未定义 rc5.d – 多用户模式 – 用X 窗口启动 rc6.d – 关闭 现在我们开始工作: 创建jboss用户和安装jboss就不再这里多说了。 创建一个脚本叫 /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编辑器编辑它: #!/bin/sh # # $Id: jboss_init_redhat.sh 46554 2006-07-28 10:29:13Z dimitris $ # # JBoss Control Script # # To use this script run it as root - it will switch to the specified user # # 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. # # Either modify this script for your requirements or just ensure that # the following variables are set correctly before calling the script. #换成你本机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这些脚本能传送日志到 /dev/null, 但是我们还是想得到输入日志,以便我们来处理运行中的错误。所以我们要创建一个真实的文件: [root@vm2 ~]# mkdir $JBOSS_HOME/jbossAutoStart.log [root@vm2 ~]# chown -R jboss.jboss $JBOSS_HOME/jbossAutoStart.log 创建链接: [root@vm2 ~]# ln -s /etc/rc.d/init.d/jboss /etc/rc3.d/S84jboss [root@vm2 ~]# ln -s /etc/rc.d/init.d/jboss /etc/rc4.d/S84jboss [root@vm2 ~]# ln -s /etc/rc.d/init.d/jboss /etc/rc5.d/S84jboss [root@vm2 ~]# ln -s /etc/rc.d/init.d/jboss /etc/rc0.d/K15jboss [root@vm2 ~]# ln -s /etc/rc.d/init.d/jboss /etc/rc1.d/K15jboss [root@vm2 ~]# ln -s /etc/rc.d/init.d/jboss /etc/rc2.d/K15jboss [root@vm2 ~]# ln -s /etc/rc.d/init.d/jboss /etc/rc6.d/K15jboss 当你在Linux中将执行'service jboss start'命令是,就对应'S' 链接 和 'service jboss stop'命令是 对于 K 链接。 到此,完成。

标签: Linux系统
相关文章: