当前位置: 首页 > news >正文

linux中 nginx+tomcat 部署方式 tomcat挂掉设置自动启动

在Linux环境下,要实现当Tomcat挂掉后自动重启,可以通过编写Shell脚本结合cron定时任务或者使用系统守护进程(如Systemd、Upstart或SysVinit)来完成。

使用Shell脚本和cron定时任务
编写检查并重启Tomcat的Shell脚本:首先,你需要创建一个Shell脚本来检测Tomcat进程是否运行,并在未运行时重启它。

#!/bin/bash
# 检查Tomcat进程是否在运行
tomcat_pid=$(pgrep -f "catalina.jar")
if [ -z "$tomcat_pid" ]; thenecho "$(date) - Tomcat is not running, starting it..."# 进程未找到,启动Tomcatcd /your/tomcat/install/path/bin/./startup.sh
elseecho "$(date) - Tomcat is running with PID: $tomcat_pid"
fi

保存此脚本为check_and_restart_tomcat.sh,并给予执行权限:

chmod +x check_and_restart_tomcat.sh

设置cron定时任务:使用crontab编辑器设置定时任务,例如每5分钟检查一次Tomcat状态。

crontab -e

在文件末尾添加:

*/5 * * * * /path/to/check_and_restart_tomcat.sh

测试的时候 脚本运行报错line 10: syntax error: unexpected end of file,后面排查是文件格式问题。由于.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。

查看该脚本文件的格式,方法是使用命令:vi check_and_restart_tomcat.sh进入编辑文件界面

直接输入shift+: 然后在":"之后输入"set ff",回车即可看到脚本格式

我们需要把格式改为unix,方法是输入":set ff=unix",也可以输入":set fileformat=unix"

相关文章:

  • Elasticsearch架构基本原理
  • C++时区转换
  • 51单片机第15步_串口多机通讯使用CRC8校验
  • 信创产业政策,信创测试方面
  • 44 mysql batch insert 的实现
  • JavaScript懒加载图像
  • Vue移动端地图App:van-uploader导致的卡顿问题
  • 企业级-生成PDF移除异常空白页
  • pycharm配置conda解释器
  • 【SSL 1056】最大子矩阵 (多维DP)
  • 统计信号处理基础 习题解答11-8
  • C语言中宏定义控制日志输出及log库介绍
  • 在大型项目中,怎样有效地组织和管理 SCSS 文件结构以提高开发效率?
  • 米国政府呼吁抛弃 C 和 C++
  • 基于Lua源码开发动态库供lua脚本使用
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Go 语言编译器的 //go: 详解
  • JavaScript 基本功--面试宝典
  • js对象的深浅拷贝
  • node学习系列之简单文件上传
  • PAT A1017 优先队列
  • PAT A1092
  • PHP CLI应用的调试原理
  • Python打包系统简单入门
  • Sass Day-01
  • select2 取值 遍历 设置默认值
  • TypeScript实现数据结构(一)栈,队列,链表
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 精彩代码 vue.js
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 力扣(LeetCode)21
  • 设计模式 开闭原则
  • 详解移动APP与web APP的区别
  • 译自由幺半群
  • - 转 Ext2.0 form使用实例
  • Semaphore
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • !!java web学习笔记(一到五)
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #微信小程序:微信小程序常见的配置传值
  • (1)Nginx简介和安装教程
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (笔试题)合法字符串
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (函数)颠倒字符串顺序(C语言)
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (十一)图像的罗伯特梯度锐化
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)scrum常见工具列表
  • (转)母版页和相对路径
  • .Mobi域名介绍