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
修改服务的默认启动等级。