1.tomcat 作为服务启动
在Linux系统启动一个服务是通过service 这个命令,service [服务名] [选项],例如service networking start ,用来启动网络服务。其实service在启动服务的时候是执行的/etc/init.d/下的脚本文件。
执行service networking start 执行的就是netwoking这个脚本。
那么,如果想通过service启动一个自定义服务,只需在/etc/init.d/下,仿照任何一个脚本编写一个对应的服务脚本即可。
通过service启动tomcat服务,脚本如下(文件名为tomcat):
#!/bin/sh -e
### BEGIN TOMCAT SERVICE
### END INIT INFO
export JAVA_HOME=/usr/work/jdk1.8.0
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.
export CATALINA_HOME=/usr/work/tomcat
case "$1" in
start)
${CATALINA_HOME}/bin/startup.sh
exit 0
;;
stop)
${CATALINA_HOME}/bin/shutdown.sh
exit 0
;;
debug)
${CATALINA_HOME}/bin/shutdown.sh
${CATALINA_HOME}/bin/catalina.sh run
exit 0
;;
force-reload|restart)
${CATALINA_HOME}/bin/startup.sh
${CATALINA_HOME}/bin/shutdown.sh
exit 0
;;
*)
echo "Usage: /etc/init.d/tomcat {start|stop|restart|force-reload|debug}"
exit 1
;;
esac
exit 0
在脚本的开头,我定义一些环境变量,这是必须的。否则tomcat在开机启动的时候找不到JAVA_HOME环境变量,尽管你在/etc/profile中设置了这些环境变量,这和Linux启动有关。
export JAVA_HOME=/usr/work/jdk1.8.0 #根据你自己的路径进行配置
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.
export CATALINA_HOME=/usr/work/tomcat
这样,就可以通过service tomcat start 来启动tomcat了。
执行 service tomcat stop 关闭tomcat。
2. tomcat开机自启动
chkconfig是Linux管理系统服务启动的一个工具。可以设置服务的运行级别,是否开机启动等
在ubuntu中,安装chkconfig,执行下面的命令:
wget http://archive.ubuntu.com/ubuntu/pool/universe/c/chkconfig/chkconfig_11.0-79.1-2_all.deb
dpkg -i chkconfig_11.0-79.1-2_all.deb
执行命令:
报错,执行命令解决:
ln -s /usr/lib/insserv/insserv /sbin/insserv
默认是在系统运行级别2345时,随系统自动启动。
OK!