且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux中设置Tomcat开机自启动

更新时间:2021-12-28 15:04:14

如题所示,有时候需要设置Tomcat开机自启动,一般来说可以通过以下两种方法来实现:

方法一:修改/etc/rc.d/rc.local文件

我们可以通过在/etc/rc.d/rc.local这个文件中添加tomcat的启动脚本的路径达到开机自启动tomcat的目的。这种方式的特点是简单粗暴,特别是有多个tomcat时可以很快速地设置。当然,时间上不是很急的话不推荐用这种方法

1
[root@localhost ~]# vim /etc/rc.d/rc.local

在文件末尾添加以下内容:

1
2
export JAVA_HOME=/usr/java/jdk1.7.0_71
/usr/local/apache-tomcat-test/bin/startup.sh

可以看出,第一句是jdk的路径,第二句是一个具体的tomcat的启动脚本的路径。当然,这些都需要根据自己的实际需求进行更改的

方法二:添加Tomcat启动脚本

(1)添加自启脚本:

1
[root@localhost init.d]# vim /etc/init.d/tomcat_test

其内容是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/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/jdk1.7.0_71
export JRE_HOME=/usr/java/jdk1.7.0_71/jre
export CATALINA_HOME=/usr/local/apache-tomcat-test
export CATALINA_BASE=/usr/local/apache-tomcat-test
start()
{
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
            echo $"Starting Tomcat_test"
                $CATALINA_HOME/bin/startup.sh
            RETVAL=$?
            echo " OK"
            return $RETVAL
        fi
}
stop()
{
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
            echo $"Stopping Tomcat_test"
                $CATALINA_HOME/bin/shutdown.sh
            RETVAL=$?
            sleep 1
            ps -fu root | grep apache-tomcat-test 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

注:

  • 前面的“export”那几句设置了jdk和该tomcat所在的路径

  • ps -fu root | grep apache-tomcat-test  这一句是指查看用户为root,并且包含“apache-tomcat-test”这个关键字的进程

(2)给脚本添加可执行权限:

1
[root@localhost init.d]# chmod a+x /etc/init.d/tomcat_test

(3)添加开机自启:

1
[root@localhost init.d]# chkconfig tomcat_test on

全部步骤到此结束,如果同一台服务器有多个Tomcat都需要设置开机自启动的话,可以根据上面的思路添加几个类似的脚本并重复操作即可




本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1862883,如需转载请自行联系原作者