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

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

使用Shell脚本和cron定时任务

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

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

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

bash 复制代码
chmod +x check_and_restart_tomcat.sh

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

bash 复制代码
crontab -e

在文件末尾添加:

bash 复制代码
*/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"

相关推荐
kaoa000几秒前
Linux入门攻坚——89、Hadoop-1-架构及概念
大数据·linux·hadoop·分布式
茶马古道的搬运工14 分钟前
Linux-Ubantu-贴士-SSH 免密登录与端口修改
linux
团子股股东峥哥25 分钟前
day34-RHEL-管理SELinux的安全性
linux·运维·服务器
‎ദ്ദിᵔ.˛.ᵔ₎25 分钟前
Linux 重定向
linux·运维·服务器
LRL_26 分钟前
离线/纯内网环境下,Linux 服务器时间不准如何强制修改?(以 Oracle Linux 9 / RHEL 9 为例)
linux·服务器·oracle
wuminyu35 分钟前
Kafka利用sendfile与Page Cache实现高性能传输剖析
java·linux·c语言·jvm·c++
NGINX开源社区39 分钟前
NGINX Gateway Fabric 2.6:F5 WAF for NGINX 集成 Gateway API
nginx·gateway·fabric
dingdingfish1 小时前
TLPI 第36章 读书笔记:Process Resource
linux·resource·getrusage·tlpi·setrlimit·getrlimit
阿钱真强道1 小时前
04 嵌入式操作系统 | 常用命令Ⅱ:用户权限、进程与网络
linux·ubuntu·进程管理·用户权限·网络排查
阿钱真强道1 小时前
03 嵌入式操作系统 | 常用命令Ⅰ:文件、查找与压缩
linux·ubuntu·文件管理·命令行·压缩解压