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

第一步,需要为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

猜你喜欢

转载自blog.csdn.net/nimasike/article/details/54573587