很多辦法可以讓Tomcat在系統(tǒng)啟動的時候自動運行,我這里介紹兩種方法,一種簡單,另外一種復(fù)雜而專業(yè)。在介紹這兩個方法前你應(yīng)該先裝JDK,
Tomcat。Tomcat的安裝很簡單,下載二進(jìn)制壓縮包?xxx.tar.gz?,用?tar?zxvf?xxx.tar.gz?-C?
[target],[target]是安裝Tomcat的目錄。
設(shè)置環(huán)境變量JDK_HOME和JAVA_HOME都指向JDK的安裝目錄即可。
一.?簡單的方法
Tomcat安裝目錄下的bin目錄有兩個腳本分別用來啟動和停止Tomcat,分別是startup.sh,?shutdown.sh,你可以用這兩個腳本來手工啟動和停止Tomcat服務(wù)并進(jìn)行安裝后的測試。
我們最簡單的方法就是通過startup.sh來自動啟動Tomcat,編輯/etc/rc.d/rc.local?增加內(nèi)容(假設(shè)JDK目錄是/usr/jdk,Tomcat目錄是/apache/tomcat)
export?JDK_HOME=/usr/jdk
export?JAVA_HOME=/usr/jdk
/apache/tomcat/bin/startup.sh
這樣在系統(tǒng)重啟后就可以自動啟動Tomcat
二.?復(fù)雜而專業(yè)的方法
前面介紹的應(yīng)該是最簡單的讓Tomcat自動啟動的方法了,但是它有兩個不足
1.?無法指定啟動Tomcat服務(wù)的用戶,會導(dǎo)致Tomcat已超級用戶運行,存在重大的安全隱患
2.?系統(tǒng)關(guān)閉的時候無法自動停止Tomcat服務(wù)
在Linux下,Tomcat可以作為一個守護進(jìn)程來啟動以及停止,這個必須借助于項目commons-daemon中的jsvc工具。Tomcat安裝完后就帶有這個工具的源碼{tomcat}/bin/jsvc.tar.gz。按照下列命令安裝這個工具:
解壓:?tar?zxvf?jsvc.tar.gz
配置:?cd?jsvc-src
????????chmod?+x?configure
???????./configure?--with-java=/usr/jdk
編譯:?make
檢驗:?./jsvc?-help
jsvc工具本身帶了一個腳本(在native目錄下)用來啟動和停止Tomcat守護進(jìn)程,但是在試驗中發(fā)現(xiàn)該腳本無法設(shè)置為自動啟動,顯示的錯誤信息是:tomcat?服務(wù)不支持?chkconfig,因此修改了此腳本
程序代碼: |
|
#!/bin/sh
#
# Startup Script for Tomcat5
#
# chkconfig: 345 87 13
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:
#
# Source function library.
. /etc/rc.d/init.d/functions
#
prog=tomcat
#
# 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"/>
#
# You need a developement version of Tomcat (Apache Tomcat/4.1-dev)
#
# Adapt the following lines to your configuration
JAVA_HOME=/usr/j2sdk
CATALINA_HOME=/usr/tomcat
DAEMON_HOME=$CATALINA_HOME/bin/jsvc-src
TOMCAT_USER=tomcat5
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar
start(){
echo -n $"Starting $prog: "
??? #
??? # Start Tomcat
??? #
??? $DAEMON_HOME/jsvc \
??? -user $TOMCAT_USER \
??? -home $JAVA_HOME \
??? -Dcatalina.home=$CATALINA_HOME \
??? -Djava.io.tmpdir=$TMP_DIR \
??? -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
;;
restart|reload)
stop
start
;;
*)
echo "Usage $0 start/stop"
exit 1;;
esac
修改下載的腳本里面有關(guān)路徑的信息以及要啟動Tomcat的用戶(用戶必須已存在)
拷貝腳本到/etc/rc.d/init.d目錄下的tomcat文件,給該腳本賦予可執(zhí)行權(quán)限
chown tomcat5 tomcat
chmod?+x?tomcat
你可以使用命令
/etc/rc.d/init.d/tomcat?start|stop?
來驗證守護進(jìn)程是否可以正常啟動和停止。接下來就是把這個腳本設(shè)置成系統(tǒng)啟動時自動執(zhí)行,系統(tǒng)關(guān)閉時自動停止,使用如下命令:
chkconfig?--add?tomcat
重新啟動系統(tǒng)后可以啟動的過程中看到Starting?Tomcat?.....?[OK]的信息,這樣就完成設(shè)置過程。