由于centOS6.x在启动的时候会自动执行:/etc/rc.d/rc.local
脚本文件
故我们可以将启动springboot项目的脚本放在这个文件里面。
第一步:准备启动脚本
比如我们准备的脚本就是:(/autostartSpringBootProject1
)
启动脚本内容如下:
#!/bin/bash
# 获取端口的pid (假入我们启动的springboot项目端口为8084)
pid=`lsof -i :8084 | grep -v "PID" | awk '{print $2}'`
source /etc/profile # 加载
# 判断端口是否被占用
if [ "$pid" != "" ];
then
echo "8084端口被占用"
kill -9 $pid # 杀掉进程在执行启动脚本
cd /usr/local/project/mainModule
nohup java -jar mainmodule-exec.jar > mainmodule-exec-log.out 2>&1 &
fi
else
echo "8084端口没被占用"
cd /usr/local/project/mainModule
nohup java -jar mainmodule-exec.jar > mainmodule-exec-log.out 2>&1 &
fi
echo "部署中"
sleep 1m
pid1=`lsof -i :8084 | grep -v "PID" | awk '{print $2}'`
# 判断是否部署成功
if [ "$pid1" == "" ]; then
echo '部署失败,可能是配置文件的原因,可以查看一下日志文件查看原因'
else
echo '部署成功'
fi
第二步:添加脚本执行权限
chmod +x /autostartSpringBootProject1
第三步:将脚本路径添加至文件(/etc/rc.d/rc.local)
vi /etc/rc.d/rc.local
保存重启即可。