解决的问题:异常/常规断电或者操作系统重启后,研发的系统需要等待人工启动服务,否则无法使用
Linux下微服务系统开机自启实现方式是将自定义的sh脚本命令加入开机启动项实现,这样有助于操作系统重启时不需要人为启动相关服务,实现无人值守下的异常重启,实现步骤分为三步:
- 编写子脚本,用于启动各类jar包、war包、软件等
- 编写启动脚本,将所有子脚本添加进启动脚本
- 将启动脚本放入开机启动项
一、系统说明
微服务系统包含:springCloud相关jar/war包、redis、nginx、mysql
系统版本:centos7,以下脚本是在centos7下编写,其他系统入Redhat、Ubuntu需要进行适当更改
二、编写子脚本
编写子脚本,实际是分-总的概念,我们将启动脚本划分成多个小的子脚本,这样可以逐个验证是否有效,也可以在平时使用中单独使用,最好将其合并到主脚本中,以下启动脚本以Tomcat、nginx、redis、jar包为例编写四个
1、Tomcat一键启动脚本
这是一个通用脚本,通过修改示例前部分文件即可适用于其他服务,脚本执行计划:
1)首先检测8080端口是否使用(netstat -anp|grep 8080|awk '{printf $7}'|cut -d/ -f1),如果有使用kill结束进程,这步操作可以兼容服务重启的需求