针对自己配置的JDK环境有可能会出现这样的情况。

tomcat能启来。但自启动就不行,原因 JDK是后安装的,环境变量配置在 /etc/profile 里面。

tomcat 配了自启动。但reboot后tomcat没有启来。分析思路
A.rc.d/rc.local有没有执行权限,如果有。
B.看里面的命令有没有被执行。
可以用>>将内容重定向到文件中,查看文件来看执行结果。(类似我们程序中通过日志排查问题)。

 

图中可以看出 /tmp/rcd.log 里面,红字1 是记录下来了。
执行红字2的时候,报 JAVA_HOME 环境变量找不到,

但输入java -version又能看到 JDK是1.8,而且直接运行tomcat8080/bin/startup.sh是可以启动的。

分析下来只有一种可能性。当linux系统开始跑rc.d/rc.local里面脚本的时候,JAVA_HOME还没有生成。

【解决方案】

写一个tomcat.sh 脚本,里面导入一下JDK的环境变量,再执行start.sh,最后这个 tomcat.sh 配置到rc.local中。

tomcat.sh 内容如下

#!/bin/sh
# ##################################################################
# Powered by Iron Info ChenJun
# ##################################################################
# Tomcat Startup export JAVA_HOME=/usr/local/iron/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib /usr/local/iron/tomcat8080/bin/startup.sh >> /tmp/tomcat.log
/usr/local/iron/tomcat8081/bin/startup.sh >> /tmp/tomcat.log
/usr/local/iron/tomcat8082/bin/startup.sh >> /tmp/tomcat.log

rc.d/rc.local 自动启 tomcat 启不来的更多相关文章

  1. /etc/rc.d/rc.local linux启动自动开启某些服务(转)

    /etc/rc.d/rc.local似乎是很多Linux系统管理员的偏爱,因为凡是需要随系统自动启动的服务.程序等,只要系统没有提供Sys V风格的启动脚本,就把这些需求都塞到/etc/rc.d/rc ...

  2. 【总结】/etc/rc.d/rc.local 与 /etc/profile .bash_profile .bashrc 文件执行顺序

    登陆shell与交互式非登陆shell的区别 登录shell 所谓登录shell,指的是当用户登录系统时所取的那个 shell.登录shell属于交互式shell. 登录shell将查找4个不同的启动 ...

  3. 应用shell脚本停启Tomcat

    最近在工作中频繁的操作多个tomcat,顺便就简单研究了一下 一. 简介 Shell 是一种与操作系统直接交互的程序,Unix系统中叫Bourne Shell,包括以下几种 Sh—Bourne She ...

  4. Failed to start /etc/rc.d/rc.local Compatibility

    查看/var/log/message Jun :: root systemd: Started Network Manager. Jun :: root systemd: Starting LSB: ...

  5. Linux系统中/etc/rc.local和/etc/rc.d/rc.local的区别

    /etc/rc.d/rc.local 用于添加开机启动命令 /etc/rc.local是/etc/rc.d/rc.local的软连接

  6. /etc/rc.d/rc.local 自定义开机启动程序

    /etc/rc.d/rc.local 用于用户自定义开机启动程序,可以往里写开机要执行的命令或脚本,线上的配置如下: [root@localhost ~]$ cat /etc/rc.d/rc.loca ...

  7. /etc/rc.d/rc.local

    /etc/rc.d/rc.local 用于用户自定义开机启动程序,可以往里写开机要执行的命令或脚本,线上的配置如下: [root@localhost ~]$ cat /etc/rc.d/rc.loca ...

  8. centos7 /etc/rc.local需要chmod +x /etc/rc.d/rc.local

    Centos 7.0设置/etc/rc.local无效问题解决 安装centos7以后按照以往习惯修改rc.local添加开机启动命令,但重启后发现无效,再次重启发现依然如故 检查系统rc.local ...

  9. A start job is running for /etc/rc.d/rc.local ... ... no limit

    /etc/rc.d/rc.local文件中配置了redis随机启动但是没有设置redis启动为守护进程(daemonize yes)导致redis启动后阻塞

随机推荐

  1. UVA 129困难的串【DFS】

    题目链接 题目大意: 给出n,l:要求按特定格式输出由前l个大写字母构成的按字母表排列的第n个没有连续重复子串的字符串以及该字符串长度. 此题是一道dfs递归回溯的基础题,难点在于对当前字符串是否有连 ...

  2. 潭州课堂25班:Ph201805201 第十二课 new方法,定制属性访问,描述符与装饰器 (课堂笔记)

    1,new方法: 类每次实例化时都会创建一个新的对象, class Textcls: # cls 是指类本身, def __new__(cls, *args, **kwargs): # 在 __ini ...

  3. [HihoCoder1393]网络流三·二分图多重匹配

    题目大意: 班级有$N$名学生,运动会有$M$项不同的比赛,第$i$项比赛每个班需要派出$m_i$名选手参加,编号为i的学生最多同时参加给定的$b_i$项比赛中的任意$a_i$项比赛.根据统计的结果, ...

  4. Android MediaCodec 状态(States)转换分析

    *由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...

  5. Oracle 增加 修改 删除 列

    语法结构如下: alter table tablename add (column datatype [default value][null/not null],….); alter table t ...

  6. C#高级编程9-第12章 动态语言扩展

    C#高级编程9-第12章 动态语言扩展 dynamic t = new ExpandoObject(); t.Abc = "abc"; t.Value = ; Console.Wr ...

  7. linux上 安装软件

    一.rpm包安装方式步骤:  1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所 ...

  8. How to change the implementation (detour) of an externally declared function

    原文地址:http://stackoverflow.com/questions/6905287/how-to-change-the-implementation-detour-of-an-extern ...

  9. EBS R12视图打不到数据

    兩個原因引起的,一個是語言,一個是oualter session set nls_language ='AMERICAN';alter session set nls_language='SIMPLI ...

  10. 如何使用Bootstrap自带图标

    查看可用的字体图标列表: http://www.runoob.com/try/demo_source/bootstrap3-glyph-icons.htm 第一步:下载Bootstrap,发现目录中包 ...