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"

相关推荐
yiwenrong1 分钟前
安全审计-Ubuntu-ufw防火墙
linux·运维·ubuntu
默|笙7 分钟前
【Linux】进程间通信(3)_命令管道
linux
小比特_蓝光7 分钟前
Linux:基本指令
linux·运维·服务器
岁岁种桃花儿11 分钟前
kubenetes从入门到上天系列第十九篇:Kubernetes安装Nginx ingress controller
java·nginx·kubernetes
kc胡聪聪1 小时前
nginx安全
nginx
冉佳驹2 小时前
Linux ——— 多线程编程中的核心概念与技术实现
linux·条件变量·互斥锁·自旋锁·线程的概念·线程的创建、等待、分离·生产者消费模型
Skilce2 小时前
HAProxy
linux·运维·负载均衡
有一个好名字2 小时前
claude code安装
linux·运维·前端
亮子AI2 小时前
【Linux】如何拷贝目录?
linux·运维·服务器
starvapour2 小时前
Ubuntu更换显卡驱动后网络消失的问题
linux·运维·ubuntu