1.检查tomcat 是否创建服务
如果找不到tomcat服务;要创建tomcat服务操作如下:
找到tomcat的安装路径:例如:C:\apache-tomcat-9.0.56\bin
(1)安装服务 打开CMD窗体(使用管理员权限运行):执行 在命令行中进入/Tomcat路径/bin/,执行“service.bat install”;如图:
红色框是操作步骤! 黄色框是说明 缺少环境变量。导致安装不了,需要在环境变量配置:JAVA_HOME,JRE_HOME; (提示安装的java路径)
然后重新执行安装服务:(如果出现 Failed installing 'Tomcat9' service 可能已经存在服务)如图是安装成功。
2.定制任务计划进行自动重新启动tomcat
(1)创建.cmd的后缀文件 编写启动服务代码:(此文件可以放在任意地方)
需要修改的参数:【URL】 可改可不改,【TOMCAT_HOME】 改成自己实际的tomcat文件路径,【net start tomcat9】里面的tomcat9 改成实际版本 如果是tomcat8 就是【net start tomcat8】
@echo off SETLOCAL ENABLEDELAYEDEXPANSION rem 链接 set URL=http://localhost:8080 rem tomcat目录 set TOMCAT_HOME=C:\apache-tomcat-9.0.56 rem 输出TOMCAT_HOME,JAVA_HOME,JRE_HOME环境变量 echo %TOMCAT_HOME% echo %JAVA_HOME% echo %JRE_HOME% rem 日志文件的路径 set LOG_PATH=%TOMCAT_HOME%\check.log rem 每次检测完后等待时间,再进行下一次检测,秒,若将程序部署到系统计划任务,可忽略 set TIME_WAIT=5 :loop set httpcode=0 cd /d %TOMCAT_HOME% echo %date% %time% echo 'begin checking tomcat' echo %date% %time% >>%LOG_PATH% for /l %%i in (1,1,10) do ( echo %%i for /f "delims=" %%r in ('curl -sL -w "%%{http_code}" %URL% -o /dev/null') do ( set httpcode=%%r if !httpcode!==200 ( GOTO :OUTFOR ) ) ) :OUTFOR echo %httpcode% >>%LOG_PATH% if not %httpcode%==200 ( echo start tomcat server>>%LOG_PATH% echo start tomcat server rem 执行开启tomcat9服务 call net start tomcat9 echo success to start tomcat echo success to start tomcat server>>%LOG_PATH% ) else ( echo the tomcat run is ok echo the tomcat run is ok >>%LOG_PATH% ) timeout -t 3 >nul rem 若将脚本程序部署到系统计划程序中,将以下代码可注释 rem timeout -t %TIME_WAIT% >nul rem goto loop
可以双击运行:必须是管理员权限运行!如下图:
(2)创建任务计划程序:
第一步:配置【常规】信息如下:
第二步:【触发器】信息如下:
第三步:配置【操作】信息如下:
第1,2,3步完成之后,看到如下图说明任务创建完毕:(根据自己实际情况 选择执行时间)
任务计划完成。
最后非常感谢另一位博客主:根据他的代码找到灵感!windows中tomcat无故宕机,如何自动重启tomcat(已解决) - (至尊宝) - 博客园