1. 首先编写shell脚本
#!/bin/sh
nohup java -jar /usr/softs/apps/mblog-latest.jar > /usr/softs/apps/mblog.log &
nohup java -jar /usr/softs/apps/Webstack-Guns-nkt-1.0.jar > /usr/softs/apps/nav.log &
nohup java -jar /usr/softs/apps/mblog-songbin.jar > /usr/softs/apps/mblog_songbin.log &
2. 给shell脚本添加可执行权限
chmod +x /usr/softs/apps/mblog-start.sh
3. 在rc.local
增加启动代码就可以了。
vi /etc/rc.local
增加代码:
#一般配置的java环境变量在启动时会失效,所以得有这刷新一下环境变量
source /etc/profile
/usr/softs/apps/mblog-start.sh
遇到的问题:
报错:nohup: failed to run command 'java': No such file or directory
原因就是没有设置source /etc/profile
通过另一种办法也可以解决这个问题:
原因分析:
通过脚本执行Java命令时确报错找不到java。这是由于脚本执行命令的时候会默认区/usr/bin里面去找java
解决方案:
java的bin配置软链接映射到/usr/bin目录下
#查看jdk安装目录
echo $JAVA_HOME
#cd到usr/bin目录下
cd /usr/bin
#配置软链接映射
ln -s -f JDK所在路径/bin/java
注意:
执行如下命令将/etc/rc.d/rc.local文标记为可执行文件
在centos7中,/etc/rc.d/rc.local文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件
chmod +x /etc/rc.d/rc.local #这一步必不可少,否则开机启动不成功
---用到的额外linux命令
#systemctl list-units --type=service #来查看一下所有的开启启动项目里面有没有这个rc-local这个服务。
#systemctl status rc-local.service #来查看一下当前是怎么个状态
然后:
#systemctl enable rc-local.service
#systemctl start rc-local.service
#手工添加下开机启动或者手工起一下看报错信息。
另外:服务的启动文件是存放在了:/lib/systemd/system/目录下面,如果不记得这个服务的全称可以来这个目录下面看。
注意:本文归作者所有,未经作者允许,不得转载