rc.local未正常启动的集中情况
1、没有授予可执行文件
确保rc.local
有可执行权限
chmod +x /etc/rc.d/rc.local
2、缺少环境变量
设置开机自动运行SpringBoot项目时,发现没有自动执行,排查后发现,是rc.local
的命令执行时,环境变量没有生效,在rc.local
内指定一下环境变量就OK。
# 指定环境变量
export JAVA_HOME=/usr/local/java/jdk1.8.0_241
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HIOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 开机自启
sh /opt/ncxp/start.sh
除此之外,还发现一个问题,就是从根目录直接运行启动脚本,导致SpringBoot没有正常读取jar包同级的配置文件。读取的是jar包内部的。将命令改为如下的方式即可:
# 开机自启
cd /opt/ncxp/ && ./start.sh