阿里云Ubuntu 部署tomcat 自启动

【背景】Linux小白,由于先安装了tomcat7 后来删除又安装了tomcat8 , 反正就是无法自启动了,tomcat8可以手工./startup.sh 启动。。

【开始】查资料,看各种大神资料,发现好像都不能完成自启动服务添加 。。

$echo JAVA_HOME,这个要说明下,我是apt-get安装的java所以没有设置这个环境变量,输出都是空,所以不能用.

whereis java 和 which java 也是不能显示路径

【查找JAVA_HOME】目录:  

如下命令:

java -version 显示正常安装了

which java 

ls -lrt /usr/bin/java

ls -lrt /etc/alternatives/java

最后一个目录就是了,我是只取了 /usr/lib/jvm/jre-* ,后面的bin/java没要,也可以

【catalina.sh】

复制此文件到 /etc/init.d/下面 

命令: cp /tomcat路径/bin/catalina.sh  /etc/init.d/tomcat8

权限  chmod 755  /etc/init.d/tomcat8

修改tomcat8 内容,文件前面加入 

JAVA_HOME=上面获取到的路径
CATALINA_HOME=/tomcat路径

CLASSPATH=.:${JAVA_HOME}/lib:$CATALINA_HOME/lib

本以为加入此内容,好了,可以执行了。

执行: update-rc.d tomcat8 defaults

提示LSB错误
insserv: warning: script 'tomcat' missing LSB tags and overrides
insserv: Default-Start undefined, assuming default start runlevel(s) for script `tomcat'

少了LSB头信息  

  因此需要自己加入相应的信息,如下所示,加到#!/bin/sh这行下: 

#!/bin/sh
### BEGIN INIT INFO
# Provides:          tomcat8
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: The tomcat Java Application Server
### END INIT INFO

保存后,再次执行 update-rc.d tomcat8 defaults ,ok 了

service tomcat8 start

service --status-all 查看下服务列表,有了,正常显示。

reboot测试下,显示正常。终于好了。。。

【提示】

服务中如果有同名的,直接删除 /etc/init.d/目录下的文件,用update-rc.d servicename remove 没效果。。

【感谢】

http://www.linuxidc.com/Linux/2015-08/122353.htm

http://www.blogjava.net/aoxj/archive/2010/04/10/317953.html

原文地址:https://www.cnblogs.com/guo0/p/7743268.html