背景:
虽然是云服务器,不过检查莫名其妙的就被重启了。而我部署的刚好是一个24h运行要求的应用,nginx和tomcat都需要自己在服务器系统重启后去启动。烦,经常接到用户通知的时候又没有在电脑面前。于是,就生出了要在服务器重启后自动启动nginx和tomcat。
思路:
用操作系统的定时任务是最稳的做法。定时任务要注意启动时就运行和登录时运行的区别。tomcat启动要延迟一点,因为数据库(我的是mysql)要先启动。mysql本身安装就是系统服务并自动启动的,所以不用考虑数据库的启动问题。
开干:
启动nginx的bat脚本如下:
cd /d D:\applications\nginx-1.15.1
start nginx
延迟启动tomcat的脚本如下:
choice /T 60 /C ync /CS /D y /n
cd /d D:/apache-tomcat-7.0.54-gqzg-8082/bin
call startup.bat
备注:第一行是延迟60秒。第三行用的call,没有用start.
然后把这2个bat加入到操作系统的启动任务里面去。两次重复的操作:打开控制面板=》任务计划=》添加任务计划,根据向导选择bat文件,注意的是任务执行周期选择时要选择“计算机启动时”。其他没有什么要注意的。