Tomcat Linux配置开机启动
原文地址:原文写的很详细,这里只是使用过后记录下来点击进入
一、获取数据
首先要获取jdk路径与tomcat路径。
1、获取jdk路径
使用下面命令获取dk路径:
echo $JAVA_HOME
如果上面路径获取不到,则可以启动tomcat,路径会打印到日志上面。

如上图所示,我的jdk路径和tomcat路径分别是:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 /opt/tomcat/apache-tomcat-8.5.31
二、配置开机自启tomcat
有两种方式
1.1 方式一
1.1.1 我们在/etc/init.d下新建一个文件tomcat(需要在root权限下操作)
vi /etc/init.d/tomcat
写下如下代码,tomcat自启动脚本,jdk与tomcat路径改为自己的:
#!/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/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre export CATALINA_HOME=/opt/tomcat/apache-tomcat-8.5.31 export CATALINA_BASE=/opt/tomcat/apache-tomcat-8.5.31 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
这里特别提醒注意这一句ps -fwwu root | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9,熟悉Linux命令的人应该都清楚这句话的意义,这里就简单说下前半部分,查询root用户下tomcat的进程PID,个人根据实际情况修改。——我这里只需要开机启动,所以就不需要这句了。stop
1.1.2 保存退出之后,给其增加可执行权限
chmod +x /etc/init.d/tomcat
第三步:挂载
将这个shell文件的link连到/etc/rc2.d/目录下。linux的/etc/rcX.d/目录中的数字代表开机启动时不同的run level,也就是启动的顺序,Ubuntu9.10下有0-5六个level,不能随便连到其他目录下,可能在那个目录中的程序启动时Tomcat所需要的一些库尚未被加载,用ln命令将tomcat的链接链过去:sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat。rcX.d目录下的命名规则是很有讲究的,更具不同需要可能是S开头,也可能是K开头,之后的数字代表他们的启动顺序,详细看各自目录下的Readme文件。
ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat
第四步:设置脚本开机自启动
把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:
chkconfig --add tomcat
第五步:验证
执行 sudo reboot。重启之后就会发现,Tomcat已经成功运行了。
题外话:添加这个脚本之后我们启动,停止,重启tomcat可以直接用命令,这里不一一试验
service tomcat start
service tomcat stop
service tomcat restart
另外一些tomcat设置命令有: chkconfig --list tomcat chkconfig tomcat on,大家可以试试看有什么效果。

我在这片文章中看到默认系统运行级别是2,3,4,5但是我3,4,5的时候也可以开机启动,这里不清楚。地址贴出来。
1.2 自启动方式二 修改系统文件
1.2.1.修改/etc/rc.d/rc.local
vi /etc/rc.d/rc.local
1.2.2.添加下面两行脚本,记住是两行,仅仅第二行不行,必须加第一行。在/etc/rc.d/rc.local文件最后加上:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 /opt/tomcat/apache-tomcat-8.5.31/startup.sh start
/usr/local/tomcat是tomcat安装的目录
chmod +x /etc/rc.d/rc.local
参考资料:

浙公网安备 33010602011771号