1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      如何將JBoss做成Redhat Linux的系統服務

      更新時間: 2008-03-14 14:03:04來源: 粵嵌教育瀏覽量:843

        怎么做才能在啟動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 鏈接。

       

      到此,完成。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产制服丝袜清纯 | 久久国产这里有精品 | 欧美、日本v视频在线播放 亚洲国产一区二区三区啪 一区二图三区国产精品 | 亚洲综合国产精品第一页 | 中文字幕在线制服丝袜 | 日本免费一级高清婬曰本片 |