linux下讓tomcat以service方式運行:
1.創建啓動/停止腳本文件:
#!/bin/bash
# chkconfig: 2345 10 90
# description: Start and Stop the Tomcat daemon.
TOMCAT_HOME=/data/ifengsite/java/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/local/java/jdk-1.8.51
# 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 "Starting Tomcat. "
daemon $TOMCAT_START
echo
touch /var/lock/subsys/tomcat
}
stop(){
echo "Shutting down Tomcat. "
daemon $TOMCAT_STOP 2>/dev/null
echo
count=`ps ax --width=1000 | grep '/data/ifengsite/java/tomcat' |grep -v grep|awk '{printf $1 " "}' | wc | awk '{print $2}'`
if [ $count != 0 ];then
pid=$(ps ax --width=1000|grep '/data/ifengsite/java/tomcat'|grep -v grep|awk '{printf $1 " "}')
kill -9 $pid
fi
rm -f /var/lock/subsys/tomcat
}
restart(){
stop
start
}
status(){
ps ax --width=1000 | grep '/data/ifengsite/java/tomcat' |grep -v grep| 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 '/data/ifengsite/java/tomcat' |grep -v grep| awk '{printf $1 " "}'
echo -n ") is running..."
echo
else
echo "Tomcat is stopped"
fi
}
case "$1" in
start)
2.將以上腳本保存命名爲tomcat並放置於/etc/rc.d/init.d/下面。
設置tomcat的文件屬性
#chmod a+x tomcat
注:a+x 是給所有人加上可執行權限,包括所有者,所屬組,和其他人
3.設置服務的運行級別,最後用chkconfig設置服務運行:
#chkconfig --add tomcat
注:
chkconfig –list #列出所有的系統服務
chkconfig –add httpd #增加httpd服務
chkconfig –del httpd #刪除httpd服務
chkconfig –level httpd 2345 on #設置httpd在運行級別爲2、3、4、5的情況下都是on(開啓)的狀態
chkconfig –list #列出系統所有的服務啓動情況
chkconfig –list mysqld #列出mysqld服務設置情況
chkconfig –level 35 mysqld on #設定mysqld在等級3和5爲開機運行服務,–level 35表示操作只在等級3和5執行,on表示啓動,off表示關閉
chkconfig mysqld on #設定mysqld在各等級爲on,“各等級”包括2、3、4、5等級
服務添加成功,可以用chkconfig –list 查看。
注意:在tomcat文件的頭兩行的註釋語句中,需要包含chkconfig和description兩部分內容(確認不要拼寫錯誤,),否則在執行“chkconfig –add tomcat”時,會出現“tomcat服務不支持chkconfig”的錯誤提示。
語 法:chkconfig [–add][–del][–list][系統服務] 或 chkconfig [–level <等級代號>][系統服務][on/off/reset]
總結:
如何增加一個服務:
1.服務腳本必須存放在/etc/ini.d/目錄下;
2.chkconfig –add servicename
在chkconfig工具服務列表中增加此服務,此時服務會被在/etc/rc.d/rcN.d中賦予K/S入口了;
3.chkconfig –level 35 mysqld on
修改服務的默認啓動等級。