Believe it,do it!

          Ideal is the beacon. Without ideal, there is no secure direction; without direction ,there is no life.
          理想是指路明燈。沒有理想,就沒有堅定的方向;沒有方向,就沒有生活。
          CTRL+T eclipse
          posts - 35, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          tomcat配置為系統服務

          Posted on 2009-03-18 10:48 三羽 閱讀(11047) 評論(0)  編輯  收藏 所屬分類: JAVA資料
          操作步驟:
          1、在“開始”→“運行”中輸入cmd 命令,進入MS-DOS界面
          2、cd 到tomcat的bin目錄下
                C:\> cd tomcat/bin
          3、運行命令service install, 就可以把tomcat注冊成系統服務了
                c:\tomcat\bin> service install
                運行命令service uninstall,就可以刪除服務。
                c:\tomcat\bin> service uninstall

                當然,這樣注冊出來的服務啟動類型是手動的;若想設置為開機自動啟動,則需要修改bin目錄下的service.bat文件。
                打開此文件,在倒數第三行左右的那句輸出
                     echo The service '%SERVICE_NAME%' has been installed.
                這句是輸出服務安裝成功,在這之前加一句
                      sc config %SERVICE_NAME% start= auto
                就OK了,以后開機后tomcat服務就自動啟動了
          備注:
                啟動/停止tomcat服務的命令,如下:
                      啟動tomcat服務: c:\tomcat> net start tomcat6
                      停止tomcat服務: c:\tomcat> net stop tomcat6
          或者
                打開“服務”對話框下進行手動點擊“啟動”|“停止”按鈕來操作。


          linux+jdk6+tomcat6
           
          一、安裝前的準備和相關說明
          下載JDKtomcat
              
          我下載的是
               apache-tomcat-6.0.24.tar.gz
               jdk-6u18-linux-i586-rpm.bin

              
          查看系統版本
          [root@www ~]# uname -a
          Linux www.digican-rfid.com 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux
          [root@www ~]#
          相關說明:
          網站目錄為:/data/webapps
          log
          目錄為:/data/logs


          二、安裝JDK
          [root@www ~]# cd /software
          [root@www software]# chmod +x jdk-6u18-linux-i586-rpm.bin
          [root@www software]# ./jdk-6u18-linux-i586-rpm.bin
          [root@www software]# vi /etc/profile
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          export PATH前增加以下內容
          JAVA_HOME=/usr/java/jdk1.6.0_18
          export JAVA_HOME
          PATH=$JAVA_HOME/bin:$PATH
          CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
          CATALINA_HOME=/usr/local/tomcat6
          PATH=$PATH:/usr/local/tomcat6/bin/
          export PATH 的后面增加以下內容
          JAVA_HOME CLASSPATH CATALINA_HOME
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          [root@www software]# set   
          查看輸出中有沒有java的變量
          [root@www software]# java -version
          測試java
          三、安裝tomcat
          [root@www software]# chmod +x apache-tomcat-6.0.24.tar.gz
          [root@www software]# cd /usr/local
          [root@www local]# tar -xzvf /software/apache-tomcat-6.0.24.tar.gz
          [root@www local]# ln -s apache-tomcat-6.0.24 tomcat6
          [root@www local]# cd tomcat6
          [root@www tomcat6]# vi /etc/profile
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          export PATH前增加以下內容
          CATALINA_HOME=/usr/local/tomcat6
          CATALINA_BASE=/usr/local/tomcat6
          PATH=$PATH:/usr/local/tomcat6/bin/
          export PATH 的后面增加以下內容
          CATALINA_HOME CATALINA_BASE
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          [root@www tomcat6]# set   
          查看輸出中有沒有java的變量
          [root@www tomcat6]# startup.sh
          啟動tomcat
          [root@www tomcat6]# netstat -ln | grep 80
          要保證出現下面一行   
          tcp        0      0 :::8080                       :::*                        LISTEN   
          在瀏覽器里輸入 http://localhsot:8080 應該會出來tomcat的標志
          [root@www tomcat6]# shutdown.sh
          停止tomcat
          [root@www tomcat6]# vi conf/server.xml
          更改以下幾行
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              <Engine name="Catalina" defaultHost="www.digican-rfid.com">   
          更改默認主機
             
          <Host name="www.digican-rfid.com" appBase="/data/webapps"
                      unpackWARs="true" autoDeploy="true"
                      xmlValidation="false" xmlNamespaceAware="false">
                    <Context path="" docBase="/data/webapps/company" reloadable="true" caseSensitive="false" debug="0"/>
          更改主機頭和網站目錄
                   
                <Connector port="80" protocol="HTTP/1.1"
                         connectionTimeout="20000"
                         redirectPort="8443" />                  
          更改端口
                
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          [root@www tomcat6]# vi conf/tomcat-users.xml
          更改以下幾行
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          <user username="tomcat" password="admin" roles="admin,manager"/>
          增加tomcat管理用戶
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          [root@www tomcat6]# mkdir -pv /data/logs
          [root@www tomcat6]# cp -R /usr/local/tomcat6/webapps /data
          [root@www tomcat6]# rm -rf /usr/local/tomcat6/webapps
          [root@www tomcat6]# ln -s /data/webapps /usr/local/tomcat6/webapps
          [root@www tomcat6]# startup.sh
          啟動tomcat
          [root@www tomcat6]# netstat -ln | grep 80
          要保證出現下面一行   
          tcp        0      0 :::80                       :::*                        LISTEN   
          在瀏覽器里輸入 http://localhsot 應該會出來自定義的網站
          [root@www tomcat6]# shutdown.sh
          停止tomcat
          [root@www tomcat6]#
          tomcat安裝完成
          四、設置tomcat開機自啟動
          以下文章參考了網上的文章,但經過自己試驗和整理。
          linux
          自動啟動程序的方法很多,但是有時某些程序要設置環境變量的就會引起麻煩。
          tomcat
          啟動時需要設置JAVA_HOME,CLASSPATH等環境變量,
          很多文章說設置好環境變量,把/path/startup.sh放到rc.local中就可以實現自動啟動了,
          但是實際操作發現,很多的linux版本因為安全原因,rc.local中忽略了export命令,也就是說在這里設置的export都是無效的,同時,放在rc.local中默認會以root用戶運行,只要在遠程運行一個jsp文件就可能會刪除系統文件,是極不安全的方式。
          以下方法經過我的驗證,可以實現。
          Linux下,Tomcat可以作為一個守護進程來啟動以及停止,這個必須借助于項目commons-daemon中的jsvc工具。Tomcat安裝完后就帶有這個工具的源碼{tomcat}/bin/jsvc.tar.gz。按照下列命令安裝這個工具:
          [root@www ~]# cd /usr/local/tomcat6/bin/
          [root@www bin]# tar zxvf /usr/local/tomcat6/bin/jsvc.tar.gz
          [root@www bin]# cd jsvc-src
          [root@www jsvc-src]# chmod +x configure
          [root@www jsvc-src]# ./configure --with-java=/usr/java/jdk1.6.0_18/
          [root@www jsvc-src]# make
          [root@www jsvc-src]# ./jsvc -help
          jsvc工具本身帶了一個腳本(在native目錄下)用來啟動和停止Tomcat守護進程,但是在試驗中發現該腳本無法設置為自動啟動,顯示的錯誤信息是:tomcat 服務不支持 chkconfig,因此修改了此腳本,可以從此處下載:tomcat.txt
          程序代碼:(網上大部分代碼有錯誤,經修改運行OK

          [root@www jsvc-src]# tar -xzvf bin/jsvc.tar.gz
          [root@www jsvc-src]# cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/rc.d/init.d/tomcatd
          [root@www jsvc-src]# useradd tomcat
          [root@www jsvc-src]# chown -R tomcat /usr/local/tomcat6
          [root@www jsvc-src]# vi /etc/rc.d/init.d/tomcatd
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          #!/bin/sh
          ##############################################################################
          #
          #   Copyright 2004 The Apache Software Foundation.
          #
          #   Licensed under the Apache License, Version 2.0 (the "License");
          #   you may not use this file except in compliance with the License.
          #   You may obtain a copy of the License at
          #
          #       http://www.apache.org/licenses/LICENSE-2.0
          #
          #   Unless required by applicable law or agreed to in writing, software
          #   distributed under the License is distributed on an "AS IS" BASIS,
          #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
          #   See the License for the specific language governing permissions and
          #   limitations under the License.
          ##############################################################################
          #
          # Small shell script to show how to start/stop Tomcat using jsvc
          # If you want to have Tomcat running on port 80 please modify the server.xml
          # file:
          #
          #    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
          #    <Connector className="org.apache.catalina.connector.http.HttpConnector"
          #               port="80" minProcessors="5" maxProcessors="75"
          #               enableLookups="true" redirectPort="8443"
          #               acceptCount="10" debug="0" connectionTimeout="60000"/>
          #
          # That is for Tomcat-6.0.x (Apache Tomcat/6.0)
          #
          #
          #chkconfig:345 87 13
          #description: Tomcat Daemon
          #
          以上兩行是chkconfig 用的,如果沒有,chkconfig 就不支持此服務
          # processname: jsvc
          # pidfile: /var/run/jsvc.pid
          prog=tomcat
          # Adapt the following lines to your configuration
          JAVA_HOME=/usr/java/jdk1.6.0_18
          CATALINA_HOME=/usr/local/tomcat6
          DAEMON_HOME=$CATALINA_HOME/bin
          TOMCAT_USER=tomcat
          # for multi instances adapt those lines.
          TMP_DIR=/tmp
          CATALINA_OPTS=
          PID_FILE=/var/run/jsvc.pid
          CATALINA_BASE=$CATALINA_HOME
          #CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
          CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar
          #case "$1" in
          start(){
               echo -n "Starting $prog: "
              #
              # Start Tomcat
              #
          #   $DAEMON_HOME/src/native/unix/jsvc \
              $DAEMON_HOME/jsvc-src/jsvc \
              -user $TOMCAT_USER \
              -home $JAVA_HOME \
              -Dcatalina.home=$CATALINA_HOME \
              -Djava.io.tmpdir=$TMP_DIR \
              -pidfile $PID_FILE \
              -outfile $CATALINA_HOME/logs/catalina.out \
              -errfile '&1' \
              $CATALINA_OPTS \
              -cp $CLASSPATH \
              org.apache.catalina.startup.Bootstrap
              #
              # To get a verbose JVM
              #-verbose \
              # To get a debug of jsvc.
              #-debug \
             RETVAL=$?
          [ $RETVAL = 0 ] && touch /var/lock/subsys/jsvc
          [ $RETVAL = 0 ] && echo success || echo failure
          echo return $RETVAL
          }
          stop(){
               echo -n "Stopping $prog: "
              #
              # Stop Tomcat
              #
              PID=`cat /var/run/jsvc.pid`
              kill $PID
              RETVAL=$?
              [ $RETVAL=0 ] && rm /var/lock/subsys/jsvc
              [ $RETVAL=0 ] && echo success || echo failure
              echo
              return $RETVAL
              }
              case "$1" in
              start)
              start
              ;;
              stop)
              stop
              ;;
              *)
              echo "Usage $0 start/stop"
              exit 1;;
              esac
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          [root@www ~]# chmod +x /etc/rc.d/init.d/tomcatd
          來驗證守護進程是否可以正常啟動和停止。
          [root@www ~]# /etc/rc.d/init.d/tomcat start|stop
          啟動或停止tomcat

          [root@www ~]# service tomcat start|stop
          接下來就是把這個腳本設置成系統啟動時自動執行,系統關閉時自動停止,使用如下命令:
          [root@www ~]# chkconfig --add tomcatd
          重新啟動系統后可以啟動的過程中看到Starting Tomcat ..... [OK]的信息,這樣就完成設置過程。
          主站蜘蛛池模板: 镇平县| 康乐县| 睢宁县| 晴隆县| 灌云县| 客服| 永善县| 通州市| 水富县| 两当县| 安远县| 攀枝花市| 霍邱县| 南安市| 奎屯市| 忻州市| 建瓯市| 沂水县| 崇阳县| 芜湖市| 桐乡市| 吴江市| 察哈| 定兴县| 岑巩县| 湘阴县| 武乡县| 阿瓦提县| 深州市| 雅江县| 闵行区| 新巴尔虎左旗| 江达县| 德惠市| 宜章县| 四平市| 舒城县| 成都市| 师宗县| 鸡泽县| 邳州市|