在linux系統下,設定某個服務自啟動的話,需要在/etc/rcX.d下掛載,還要在/etc/init.d/下寫啟動指令碼的。
1、在/etc/init.d/下新建一個檔案tomcat(需要在root許可權下操作)。
2、vi /etc/init.d/tomcat 寫入如下程式碼: # tomcat自啟動指令碼 #!/bin/sh # chkconfig: 345 99 10 # description: Auto-starts tomcat # /etc/init.d/tomcatd # Tomcat auto-start # Source function library. #. /etc/init.d/functions # source networking configuration. #. /etc/sysconfig/network RETVAL=0 export JDK_HOME=/usr/java/jdk1.7.0_45 (請填寫真實的JDK目錄) export CATALINA_HOME=/home/ldatum/usr/apache-tomcat-7.0.10(請填寫真實的tomcat目錄) export CATALINA_BASE=/home/ldatum/usr/apache-tomcat-7.0.10(請填寫真實的tomcat目錄) start() { if [ -f $CATALINA_HOME/bin/startup.sh ]; then echo $"Starting Tomcat" $CATALINA_HOME/bin/startup.sh RETVAL=$? echo " OK" return $RETVAL fi } stop() { if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then echo $"Stopping Tomcat" $CATALINA_HOME/bin/shutdown.sh RETVAL=$? sleep 1 ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk "{print $2}"|xargs kill -9 echo " OK" # [ $RETVAL -eq 0 ] && rm -f /var/lock/... return $RETVAL fi } case "$1" in start) start ;; stop) stop ;; restart) echo $"Restaring Tomcat" $0 stop sleep 1 $0 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 ;; esac exit $RETVAL
3、新增完畢之後,給其增加可執行許可權:chmod +x /etc/init.d/tomcat.之後就是將這個shell檔案的link連到/etc/rc2.d/目錄下。
4、linux的/etc/rcX.d/目錄中的數字代表開機啟動時不同的run level,也就是啟動的順序,Ubuntu9.10下有0-5六個level,不能隨便連到其他目錄下,可能在那個目錄中的程式啟動時Tomcat所需要的一些庫尚未被載入,用ln命令將tomcat的連結鏈過去:ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat。 注意:rcX.d目錄下的命名規則是很有講究的,更具不同需要可能是S開頭,也可能是K開頭,之後的數字代表他們的啟動順序,詳細看各自目錄下的Readme檔案。
5、接下來就是把這個指令碼設定成系統啟動時自動執行,系統關閉時自動停止,使用如下命令:chkconfig ——add tomcat。如果chkconfig沒有安裝,則使用apt-get 或者yum之類的程式進行安裝,一般伺服器版本的Linux都已經自帶了。
6、最後,就是reboot重啟系統了。重啟之後就會發現,Tomcat已經成功運行了。
在linux系統下,設定某個服務自啟動的話,需要在/etc/rcX.d下掛載,還要在/etc/init.d/下寫啟動指令碼的。
1、在/etc/init.d/下新建一個檔案tomcat(需要在root許可權下操作)。
2、vi /etc/init.d/tomcat 寫入如下程式碼: # tomcat自啟動指令碼 #!/bin/sh # chkconfig: 345 99 10 # description: Auto-starts tomcat # /etc/init.d/tomcatd # Tomcat auto-start # Source function library. #. /etc/init.d/functions # source networking configuration. #. /etc/sysconfig/network RETVAL=0 export JDK_HOME=/usr/java/jdk1.7.0_45 (請填寫真實的JDK目錄) export CATALINA_HOME=/home/ldatum/usr/apache-tomcat-7.0.10(請填寫真實的tomcat目錄) export CATALINA_BASE=/home/ldatum/usr/apache-tomcat-7.0.10(請填寫真實的tomcat目錄) start() { if [ -f $CATALINA_HOME/bin/startup.sh ]; then echo $"Starting Tomcat" $CATALINA_HOME/bin/startup.sh RETVAL=$? echo " OK" return $RETVAL fi } stop() { if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then echo $"Stopping Tomcat" $CATALINA_HOME/bin/shutdown.sh RETVAL=$? sleep 1 ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk "{print $2}"|xargs kill -9 echo " OK" # [ $RETVAL -eq 0 ] && rm -f /var/lock/... return $RETVAL fi } case "$1" in start) start ;; stop) stop ;; restart) echo $"Restaring Tomcat" $0 stop sleep 1 $0 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 ;; esac exit $RETVAL
3、新增完畢之後,給其增加可執行許可權:chmod +x /etc/init.d/tomcat.之後就是將這個shell檔案的link連到/etc/rc2.d/目錄下。
4、linux的/etc/rcX.d/目錄中的數字代表開機啟動時不同的run level,也就是啟動的順序,Ubuntu9.10下有0-5六個level,不能隨便連到其他目錄下,可能在那個目錄中的程式啟動時Tomcat所需要的一些庫尚未被載入,用ln命令將tomcat的連結鏈過去:ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat。 注意:rcX.d目錄下的命名規則是很有講究的,更具不同需要可能是S開頭,也可能是K開頭,之後的數字代表他們的啟動順序,詳細看各自目錄下的Readme檔案。
5、接下來就是把這個指令碼設定成系統啟動時自動執行,系統關閉時自動停止,使用如下命令:chkconfig ——add tomcat。如果chkconfig沒有安裝,則使用apt-get 或者yum之類的程式進行安裝,一般伺服器版本的Linux都已經自帶了。
6、最後,就是reboot重啟系統了。重啟之後就會發現,Tomcat已經成功運行了。