搬磚頭

          Knocking on Heaven's Door
          posts - 34, comments - 6, trackbacks - 0, articles - 0

          tomcat隨系統(tǒng)啟動的辦法

          Posted on 2007-11-02 16:40 生活在別處 閱讀(1644) 評論(0)  編輯  收藏 所屬分類: J2EE Server
          以前碰到過,要tomcat開機(jī)啟動的問題,后來用root用戶啟,但是風(fēng)險(xiǎn)很大
          這次碰巧看到了解決辦法,趕緊收了下來
          原帖名字:ubuntu7.04 安裝tomcat6
          來源:http://tristonxu.spaces.live.com/blog/cns!6C727D52D9679258!382.entry

          終于搞定了,如果僅僅安裝tomcat,那是很容易的,問題是如何讓他隨ubuntu啟動運(yùn)行,這才是問題的關(guān)鍵!現(xiàn)在終于搞定了,唉...俺還是比較笨,居然用了兩天的時(shí)間才解決,而且問題解決之后,才發(fā)現(xiàn)之前原來一直是在成功的門前徘徊。想想,人生何嘗不是這樣,有多少人用一輩子的時(shí)光在成功的門前晃蕩...
          呵呵~還是趕緊把它記錄下來吧,年紀(jì)大了阿...

          一、安裝之前
          1、下載tomcat
          最新的tomcat是apache-tomcat-6.0.13.tar.gz,下載地址是:http://tomcat.apache.org/download-60.cgi

          安裝之前要先安張jdk,最好選擇JDK5.0以上版本吧。

          二、安裝ing
          1、解壓apache-tomcat-6.0.13.tar.gz到安裝目錄下。
          根據(jù)俺的實(shí)際情況,我把tmcat安裝在/opt目錄下
          shell>sudo tar zxvf apache-tomcat-6.0.13.tar.gz /opt
          解壓之后,會在/opt下生成一個(gè)apache-tomcat-6.0.13文件夾

          2、在/usr/local下建立一個(gè)軟鏈接
          shell>cd /usr/local
          shell>sudo ln -s /opt/apache-tomcat-6.0.13 tomcat6

          3、測試安裝
          運(yùn)行啟動腳本,測試tomcat是否安裝成功
          shell>sudo /usr/local/tomcat6/bin/startup.sh
          然后打開FF,用http://localhost:8080 訪問tomcat。一般來講,會成功的。呵呵~

          三、讓tomcat開機(jī)啟動
          根據(jù)apache網(wǎng)站的Document說明(這個(gè)說明也寫得很差,嗚嗚!),要是tomcat作為一個(gè)守護(hù)程序運(yùn)行,需要用到j(luò)svc工具。(這個(gè)工具是啥玩意,俺也不懂,懶得研究,居然tomcat自帶,那就最好了)
          1、準(zhǔn)備工作
          Tomcat安裝后,如果讓Tomcat用root身份啟動,Tomcat將會擁用root權(quán)限,這將可能給系統(tǒng)帶來安全隱患,黑客可能利用這個(gè)來攻擊我們的系統(tǒng),所以我們得添加一個(gè)獨(dú)立運(yùn)行此服務(wù)的用戶,用下面的命令:

          shell>sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat
          以上命令為系統(tǒng)增加一個(gè)tomcat用戶,并且設(shè)置為nologin

          設(shè)置用戶tomcat5對tomcat的權(quán)限
          shell>sudo chown -R tomcat:tomcat /usr/local/tomcat6
          shell> sudo chown -R tomcat:tomcat /opt/apache-tomcat-6.0.13

          2、安裝jsvc
          shell>cd /usr/local/tomcat6/bin
          shell>sudo tar xvfz jsvc.tar.gz
          shell>cd jsvc-src
          shell>sudo sh support/buildconf.sh
          如果成功,命令終端打印出下面report:
          support/buildconf.sh: configure script generated successfully

          [注:在此之前,我的系統(tǒng)安裝了autoconf,可以使用shell>sudo apt-get install autoconf 進(jìn)行安裝]
          為configure添加執(zhí)行權(quán)限
          shell>sudo chmod 755 configure
          shell>sudo ./configure --with-java=/usr/lib/j2sdk1.6-sun (這是俺系統(tǒng)的JDK安裝的位置)
          shell>sudo make

          okay!如果沒有出現(xiàn)錯(cuò)誤的話,jsvc就安裝成功了!

          3、設(shè)置啟動腳本
          接下來,就是把jsvc中帶有的一個(gè)tomcat5.sh的一個(gè)模板復(fù)制到/etc/init.d目錄下,然后根據(jù)自己的情況,進(jìn)行修改。
          shell>sudo cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
          上面的命令是移動文件tomcat5.sh到/etc/init.d/里面并改名為tomcat

          修改/etc/init.d/tomcat文件:
          shell>cd /etc/init.d
          shell>sudo gedit tomcat

          俺的tomcat文件修改完如下:

          #!/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-5.0.x (Apache Tomcat/5.0)
          #
          # Adapt the following lines to your configuration
          JAVA_HOME=/usr/lib/j2sdk1.6-sun
          CATALINA_HOME=/usr/local/tomcat6
          DAEMON_HOME=/usr/local/tomcat6/bin
          TOMCAT_USER=tomcat

          # for multi instances adapt those lines.
          TMP_DIR=/var/tmp
          PID_FILE=/var/run/jsvc.pid
          CATALINA_BASE=/usr/local/tomcat6

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

          case "$1" in
          start)
          #
          # Start Tomcat
          #
          $DAEMON_HOME/jsvc-src/jsvc \
          -user $TOMCAT_USER \
          -home $JAVA_HOME \
          -Dcatalina.home=$CATALINA_HOME \
          -Dcatalina.base=$CATALINA_BASE \
          -Djava.io.tmpdir=$TMP_DIR \
          -wait 10 \
          -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 \
          exit $?
          ;;

          stop)
          #
          # Stop Tomcat
          #
          $DAEMON_HOME/src/native/unix/jsvc \
          -stop \
          -pidfile $PID_FILE \
          org.apache.catalina.startup.Bootstrap
          exit $?
          ;;

          *)
          echo "Usage tomcat.sh start/stop"
          exit 1;;
          esac

          [注:需要修改的地方,我都用紅色標(biāo)出來]
          如果在其他linux系統(tǒng),這樣就okay了,但是在ubuntu中,還需要進(jìn)行一步,就是把在rc2.d中設(shè)置一個(gè)軟鏈接

          在/etc/rc2.d目錄下建立S16apache軟聯(lián)接到/etc/init.d/tomcat
          shell>cd /etc/rc2.d
          shell>ln -s /etc/init.d/apache2 S16apache
          [注:rc2.d目錄下的文件要以S后就數(shù)字開頭,表示啟動的順序。而rc2.d中的2,表示這個(gè)目錄下文件在開機(jī)時(shí)的運(yùn)行級別(runlevel)為2]

          四、結(jié)束
          重新啟動系統(tǒng)
          shell>sudo reboot -n
          啟動后,就可以在FF中直接輸入http://localhost:8080。如果成功,就可以看見一直可愛的kitten拉~~~




          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 安远县| 奉新县| 宁安市| 兴海县| 南投市| 会东县| 定西市| 丰县| 迭部县| 晴隆县| 莱西市| 胶州市| 油尖旺区| 云安县| 双城市| 日土县| 通海县| 如东县| 名山县| 阳曲县| 文昌市| 花垣县| 乌恰县| 灵川县| 富宁县| 壶关县| 淄博市| 嘉兴市| 蚌埠市| 霍邱县| 临安市| 新建县| 毕节市| 西乌珠穆沁旗| 玉门市| 奉新县| 青铜峡市| 遂平县| 成安县| 金堂县| 河东区|