Sky's blog

          我和我追逐的夢

          常用鏈接

          統計

          其他鏈接

          友情鏈接

          最新評論

          linux下tomcat6的開機自動啟動腳本


              在SUSE SLES11 下安裝好tomcat6后,考慮方便需要設置tomcat為開機自動運行。

              找到tomcat官方的安裝文檔 http://tomcat.apache.org/tomcat-6.0-doc/setup.html,按照要求安裝,中間發現有些問題,記錄下來備忘。

          (1) 安裝 jsvc

              按照tomcat官方的要求,tomcat作為一個守護程序運行,需要用到jsvc工具:
          Tomcat can be run as a daemon using the jsvc tool from the commons-daemon project。
              執行以下命令:
              cd tomcat/bin
              tar xvfz jsvc.tar.gz
              cd jsvc-src
              support/buildconf.sh

              這里會用到autoconf,如果沒有需要安裝。恩,SUSE SLES11默認就是沒有安裝。Yast上去輕松搞定!

              成功后可以看到:
              support/buildconf.sh: configure script generated successfully

              buildconf.sh會自動復制bootstrap.jar和commons-daemon.jar兩個jar文件到tomcat/bin目錄,這兩個文件后面需要使用。

          (2) 制作啟動腳本
              jsvc下帶有兩個tomcat.sh的模板,Tomcat.sh為tomcat4.*版本使用,Tomcat5.sh為tomcat5.*使用,很奇怪沒有tomcat6.*的模板。只好使用tomcat5的自己改改。復制模板腳本到etc/init.d:

              cp tomcat/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
              chmod +x /etc/init.d/tomcat

              下面是關鍵了,修改這個腳本的內容,標記為藍色的部分是新加的內容,紅色部分為在原有模板上修改

          1. 加入LSB tags
              原有的模板文件中沒有這個LSB tags內容,在執行chkconfig命令時會發出警告。

          ss-server:/etc/rc.d # chkconfig tomcat on
          insserv: warning: script 'tomcat' missing LSB tags and overrides
          insserv: Default-Start undefined, assuming default start runlevel(s) for script `tomcat'

              因此需要自己加入相應的信息,如下所示,加到#!/bin/sh這行下:

          #!/bin/sh
          ### BEGIN INIT INFO
          # Provides:          tomcat
          # Required-Start:    $remote_fs $network
          # Required-Stop:     $remote_fs $network
          # Default-Start:     2 3 4 5
          # Default-Stop:      0 1 6
          # Short-Description: The tomcat Java Application Server
          ### END INIT INFO

          2. 設置路徑

          # Adapt the following lines to your configuration
          JAVA_HOME=/work/soft/java/jdk/jdk
          CATALINA_HOME=/work/soft/tomcat
          DAEMON_HOME=/work/soft/tomcat/bin
          TOMCAT_USER=sky

          注意DAEMON_HOME設置到tomcat/bin, TOMCAT_USER可以修改為非root用戶以提高安全性。

          3. multi instances
              因為只有一個instance,不需要,不過還是將CATALINA_BASE設置為和CATALINA_HOME一致

          # for multi instances adapt those lines.
          TMP_DIR=/var/tmp
          PID_FILE=/var/run/jsvc.pid
          CATALINA_BASE=/work/soft/tomcat

          4. 參數
              CATALINA_OPTS清空,CLASSPATH不用改,注意bin目錄下的commons-daemon.jar和bootstrap.jar,是前面的support/buildconf.sh腳本執行后才出來的,如果發現沒有這兩個jar文件,說明你沒有執行support/buildconf.sh。

          CATALINA_OPTS=
          CLASSPATH=\
          $JAVA_HOME/lib/tools.jar:\
          $CATALINA_HOME/bin/commons-daemon.jar:\
          $CATALINA_HOME/bin/bootstrap.jar

          5. 啟動的命令行
              $DAEMON_HOME/********* \這行一定要改,tomcat6的路徑和tomcat5似乎有變化,模板里面的路徑完全不對。不要忘了同時修改start/stop兩處。其他內容不用變:

          case "$1" in
            start)
              #
              # Start Tomcat
              #
              $DAEMON_HOME/jsvc-src/jsvc \
              -user $TOMCAT_USER \
              -home $JAVA_HOME \
            ......

              為了檢測上面的腳本是否有效,可以直接執行/etc/rc.d/tomcat start/stop來看tomcat的啟動和關閉是否正確。

          (3) 設置開機啟動
             
              執行chkconfig tomcat on。
              重啟SUSE后,發現tomcat已經自動啟動了。

              為了方便大家,我將這個tomcat6可用的腳本上傳,以供參考。
              http://www.aygfsteel.com/Files/aoxj/tomcat6.sh.zip

          posted on 2010-04-10 19:02 sky ao 閱讀(12581) 評論(0)  編輯  收藏 所屬分類: java

          主站蜘蛛池模板: 聊城市| 饶平县| 安义县| 西和县| 礼泉县| 太湖县| 乌恰县| 大安市| 田林县| 勃利县| 平和县| 上栗县| 襄城县| 红安县| 钟祥市| 嘉禾县| 江安县| 泌阳县| 沁水县| 司法| 瑞丽市| 黄冈市| 三门县| 榆社县| 内江市| 栾川县| 东光县| 荆门市| 泊头市| 双流县| 鹤山市| 湾仔区| 平顶山市| 无极县| 马龙县| 枣强县| 徐汇区| 兰考县| 北海市| 黎平县| 临夏市|