【背景】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这行下:
### 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