美文网首页
发现tomcat不能自动启动 /usr/lib/jvm/java

发现tomcat不能自动启动 /usr/lib/jvm/java

作者: 温暖春阳 | 来源:发表于2019-08-26 11:26 被阅读0次

    1.用户自己源码安装的软件组要自启动,可以在/etc/rc.local中配置,rc.loacl 是rc.d/rc.local的一个软连接。rc.local -> rc.d/rc.local

    1. 用户的配置环境变量配置在/etc/profile下。

    3.但是自启动rc.local先于/etc/profile被系统执行,有些软件找不到环境变量而无法执行。我们可以在rc.local中先调用/etc/profile,然后添加自己的自启动代码。

    4.以tomcat为例, 首先在/etc/profile 中添加:

    ## ADD by icesongqiang for java jdk 16.12.28
    JAVA_HOME=/usr/share/java; export JAVA_HOME
    PATH=$JAVA_HOME/bin:$PATH; export PATH
    CLASSPATH=$CLASSPATH:$JAVA_HOME/lib; export CLASSPATH
    
    ## ADD CATALINA_HOME for tomcat by icesonqiang 16.12.28
    CATALINA_HOME=/usr/local/tomcat8;export CATALINA_HOME
    
    ## ADD by icesongqiang for maven 16.12.28
    M2_HOME=/usr/local/apache-maven; export M2_HOME
    PATH=$M2_HOME/bin:$PATH; export PATH
    

    接着在/etc/rc.local中执行etc/profile, 并启动tomcat

    ## ADD by icesongqiang for java jdk 16.12.28
    source etc/profile
    ## add tomcat
    ${CATALINA_HOME}/bin/startup.sh start
    

    但是这样有一个弊端,就是用户没有登录也会看到环境变量中的值,而如果直接将/etc/profile中的环境变量语句拷贝到/etc/rc.loacl中,export语句会没有效果。也就是说执行了rc.local后,export的变量就无效了。

    发现tomcat不能自动启动,后来发现是因为/etc/rc.d/rc.local 先于/etc/profile启动而我的环境变量是在profile里面设置的所以tomcat启动时找不到环境变量。后来修改了一下把环境变量添加到了startup.sh里面就ok了!

    相关文章

      网友评论

          本文标题:发现tomcat不能自动启动 /usr/lib/jvm/java

          本文链接:https://www.haomeiwen.com/subject/girrectx.html