之前給公司搭建的tomcat環境(centos安裝配置JDK1.7與Tomcat7),開發人員說每次啟動tomcat不方便,每次要進到/usr/local/apache-tomcat-7.0.26/bin下面去執行,很浪費時間,要求簡便化.好吧,有要求就要改進,下面來看看我找的自啟動指令碼.
系統:centos 5.x
環境:apache-tomcat-7.0.26 jdk-7u3
指令碼內容:
代碼如下 |
複製代碼 |
#!/bin/bash # chkconfig: 2345 10 90 # description: Start and Stop the Tomcat daemon. TOMCAT_HOME=/usr/local/tomcat TOMCAT_START=$TOMCAT_HOME/bin/startup.sh TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh # necessary environment variables export CATALINA_HOME=$TOMCAT_HOME export JAVA_HOME=/usr/java/jdk1.7.0_03 # source function library. . /etc/rc.d/init.d/functions # source networking configuration. . /etc/sysconfig/network # check that networking is up. [ "${NETWORKING}" = "no" ] && exit 0 # check for tomcat script if [ ! -f $TOMCAT_HOME/bin/catalina.sh ] then echo "Tomcat not valilable..." exit fi start(){ echo -n "Starting Tomcat: " daemon $TOMCAT_START echo touch /var/lock/subsys/tomcat } stop(){ echo -n $"Shutting down Tomcat: " daemon $TOMCAT_STOP rm -f /var/lock/subsys/tomcat.pid echo } restart(){ stop start } status(){ ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt read line < /tmp/tomcat_process_count.txt if [ $line -gt 0 ]; then echo -n "tomcat ( pid " ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' echo -n ") is running..." echo else echo "Tomcat is stopped" fi } case "$1" in start) start ;; stop) stop ;; restart) stop sleep 3 start ;; status) status ;; *) echo "Usage: tomcatd {start|stop|restart|status}" exit 1 esac exit 0 |
儲存後,進到/usr/local/下,執行:
代碼如下 |
複製代碼 |
ln -s apache-tomcat-7.0.26/ tomcat |
這樣才符合我指令碼裡的路徑:/usr/local/tomcat
然後你們自己確認下jdk的路徑,我的是/usr/java/jdk1.7.0_03
然後給許可權,做自啟動:
代碼如下 |
複製代碼 |
chmod +x /etc/init.d/tomcat chkconfig --add tomcat chkconfig tomcat on |
最後驗證下指令碼是否可以啟動和停止tomcat
代碼如下 |
複製代碼 |
service tomcat stop service tomcat start |
如果沒有問題就可以不管了,有問題的話就自己檢查下jdk和tomcat的路徑是否正確.