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的时候也可以开机启动,这里不清楚。地址贴出来。

https://blog.csdn.net/gybshen/article/details/79564613?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

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/java/jdk1.7.0_60 是jdk安装目录
         /usr/local/tomcat是tomcat安装的目录

 

1.2.3.注意:修改rc.local文件为可执行
 
chmod +x /etc/rc.d/rc.local

 

 

 

 

 

 

 

 

 

 

 

 

参考资料:

https://blog.csdn.net/wangli61289/article/details/37924785?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

posted @ 2020-04-01 17:24  苦心明  阅读(629)  评论(0)    收藏  举报