2012年1月1日 星期日

tomcat 無 jsvc 時的啟動腳本

最近使用新的 tomcat 版本時會發現好像都沒有 jsvc.tar.gz 這個檔案了

所以這時就可以用的直接加到 /etc/init.d 裡就可以將 tomcat 開機啟動的行列裡
1. 使用 root 身份登錄,並編輯以下檔案

#vi /etc/init.d/tomcat

#!/bin/sh
#
# chkconfig: - 85 20  
# description: Tomcat running  
# processname: tomcat6  
# pidfile: /var/run/tomcat.pid # config:# Source function library.  
. /etc/rc.d/init.d/functions  
# Source networking configuration.  
. /etc/sysconfig/network  
# Check that networking is up.  
[ ${NETWORKING} = "no" ] && exit 0# Set Tomcat environment.  
export JAVA_HOME=/usr/java/jdk  
export CATALINA_HOME=/opt/apache-tomcat-6.0.33  
export CATALINA_OPTS="-Dbuild.compiler.emacs=true"  
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar  
export PATH=$JAVA_HOME/bin:$PATH
export TOMCAT_HOME=/usr/local/tomcat
[ -f $TOMCAT_HOME/bin/startup.sh ] || exit 0 [ -f $TOMCAT_HOME/bin/shutdown.sh ] || exit 0  
export PATH=$PATH:/usr/bin:/usr/lib/bin  
# See how we were called.  
case "$1" in  
        start)  
                # Start daemon.  
                echo -n "Starting Tomcat: "  
                $TOMCAT_HOME/bin/startup.sh  
                RETVAL=$?  
                echo  
                        [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat ;;  
        stop)  
                # Stop daemons.  
                echo -n "Shutting down Tomcat: "  
                $TOMCAT_HOME/bin/shutdown.sh  
                RETVAL=$?  
                echo  
                        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat ;;  
        restart)  
                $0 stop  
                $0 start  
        ;;  
        condrestart)  
                [ -e /var/lock/subsys/tomcat ] && $0 restart ;;  
        status)  
               status tomcat  
        ;;  
        *)  
                echo "Usage: $0 {start|stop|restart|status}"  
        exit 1  
esac  
        exit 0  

2. 儲存以上檔案後,請更改權限

#chmod 755 tomcat

3. 將 tomcat 加入至 services 列表中

#chkconfig --add tomcat

4. 將 tomcat 設定為開機啟動

#chkconfig tomcat on

5. 重新啟動 server 用 netstat 指令,就會發現 8080 port 已啟動

#netstat -tunlp

tcp        0      0 :::8080                     :::*                        LISTEN      1220/java

沒有留言: