首页 > 代码库 > 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下自启动