首页 > 代码库 > Tomcat Linux下自启动

Tomcat Linux下自启动

使用root用户在/etc/init.d中touch tomcat文件,使用VI编辑脚本内容如下:

#!/bin/bash## tomcat        ## chkconfig:345 71 71 # description:  Start up the Tomcat servlet engine.# Source function library.. /etc/init.d/functionsRETVAL=$?CATALINA_HOME="/home/ams/apache-tomcat-7.0.54"case "$1" in start)        if [ -f $CATALINA_HOME/bin/startup.sh ];          then        echo $"Starting Tomcat"            /bin/su ams $CATALINA_HOME/bin/startup.sh        fi    ;; stop)        if [ -f $CATALINA_HOME/bin/shutdown.sh ];          then        echo $"Stopping Tomcat"            /bin/su ams $CATALINA_HOME/bin/shutdown.sh        fi    ;; restart)    /bin/su ams $CATALINA_HOME/bin/shutdown.sh    /bin/su ams $CATALINA_HOME/bin/startup.sh    ;; *)    echo $"Usage: $0 {start|stop}"    exit 1    ;;esacexit $RETVAL

之后运行命令 chkconfig --add tomcat 就可以将脚本文件加入开机启动项了

可以使用 chkconfig --list tomcat 查看tomcat脚本在各个runlevel下的启动情况

每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用\ 跨行注释。

例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.

chkconfig使用范例:
chkconfig --list        #列出所有的系统服务
chkconfig --add httpd        #增加httpd服务
chkconfig --del httpd        #删除httpd服务
chkconfig --level httpd 2345 on        #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig --list        #列出系统所有的服务启动情况
chkconfig --list mysqld        #列出mysqld服务设置情况
chkconfig --level 35 mysqld on        #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on        #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级

参考:http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796873.html

P.s.

在tomcat文件的头几行的注释语句中,必须包含chkconfig和description两部分内容,否则在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示。chkconfig这行表示缺省启动的运行级别以及启动和停止的优先级,如该服务缺省不再任何运行级启动,则以 - 代替运行级别。在tomcat中表示脚本在运行级2、3、4、5启动,启动优先权为20(优先权数越大服务启动的越晚),停止优先权为80。如果服务已经设置好了,那么通过编辑tomcat文件来修改启动优先权就不管用了,先删除服务再添加进来就可以了。

Tomcat Linux下自启动