您的位置:首页 > 运维架构 > Tomcat

Cenos6.8 配置Tomcat7以系统服务方式启动

2017-01-16 14:09 447 查看

第一步,需要为tomcat配置pid,这样在Tomcat启动时会把进程ID写入指定文件。

@1 修改bin/catalina.sh 文件增加下面的配置

@2 vim catalina.sh 按esc进入命令模式 按/ 进入查询模式 复制[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME" 查询,在下面加入红色配置

# Copy CATALINA_BASE from CATALINA_HOME if not already set

[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"

# 设置pid。一定要加在CATALINA_BASE定义后面,要不然pid会生成到/下面

CATALINA_PID="$CATALINA_BASE/tomcat.pid"

@3 会生成tomcat.pid文件,它与bin目录平级。

第二步,编写脚本文件

@1 进入/etc/init.d/

@2 增加文件vim tomcat

#!/bin/bash
# description: Tomcat7 Start Stop Restart
# chkconfig: 234 20 80

JAVA_HOME=/home/jdk/jdk1.7.0_79
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/home/tomcat/apache-tomcat-7.0.47
PID_FILE=/home/tomcat/apache-tomcat-7.0.47/tomcat.pid

#有时进程异常退出导致进程文件在而进程已经不再
#/proc/<pid>目录是否存在来判断进程是否存在
loadpid() {
if [ -r $PID_FILE -a -d "/proc/$(cat ${PID_FILE})" ]
then
echo $(cat ${PID_FILE})
else
echo "0"
fi
}

start() {
pid=`loadpid`
if [ $pid != "0" ]
then
echo "Tomcat is already running (pid: $pid)"
else
echo "Starting tomcat"
sh $CATALINA_HOME/bin/startup.sh
fi
}

stop() {
pid=`loadpid`
if [ $pid = "0" ]
then
echo "Tomcat is not running"
else
echo "Stoping Tomcat (pid: $pid)"
sh $CATALINA_HOME/bin/shutdown.sh
fi
}

status() {
pid=`loadpid`
if [ $pid != "0" ]
then
echo "Tomcat is already running (pid: $pid)"
else
echo "Tomcat is not running"
fi
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac


@如果脚本是在windows编辑在拷贝过去的会有问题,好像是回车换行符不同导致的。

sed -i 's/\r$//' lvs_real.sh

@增加为系统服务 chkconfig --add tomcat

@重启测试成功

@手动测试成功

service tomcat start

service tomcat stop

service tomcat restart

service tomcat status
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐