很多办法可以让Tomcat在系统启动的时候自动运行,一种简单,另外一种复杂而专业。
export JAVA_HOME=/usr/java/jdk
/usr/local/tomcat/bin/startup.sh
这样在系统重启后就可以自动启动Tomcat
1. 无法指定启动Tomcat服务的用户,会导致Tomcat已超级用户运行,存在重大的安全隐患
一. 简单的方法
Tomcat安装目录下的bin目录有两个脚本分别用来启动和停止Tomcat,分别是startup.sh, shutdown.sh,
你可以用这两个脚本来手工启动和停止Tomcat服务并进行安装后的测试。
我们最简单的方法就是通过startup.sh来自动启动Tomcat,
编辑/etc/rc.d/rc.local 增加内容(假设JDK目录是/usr/java/jdk,Tomcat目录是/usr/local/tomcat)
export JDK_HOME=/usr/java/jdkexport JAVA_HOME=/usr/java/jdk
/usr/local/tomcat/bin/startup.sh
这样在系统重启后就可以自动启动Tomcat
二. 复杂而专业的方法
前面介绍的应该是最简单的让Tomcat自动启动的方法了,但是它有两个不足1. 无法指定启动Tomcat服务的用户,会导致Tomcat已超级用户运行,存在重大的安全隐患
2. 系统关闭的时候无法自动停止Tomcat服务
新建tomcat文件
vi /etc/init.d/tomcat
编辑文件,将下面代码复制到tomcat文件中,不过需要自己修改对应的JDK路径和Tomcat的CATALINA_HOME的路径
#!/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 JAVA_HOME=/usr/java/jdk10
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/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 root | grep 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) 设置tomcat脚本权限
chmod 755 /etc/rc.d/init.d/tomcat
4) 设置脚本开机启动
chkconfig --add tomcat
5) 完成配置,重启服务
reboot
6) 验证是否启动
ps -aux | grep tomcat
或
ps -ef | grep tomcat
启动tomcat服务: service tomcat start
停止tomcat服务: service tomcat stop
重启tomcat服务:service tomcat restart