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"

相关推荐
groundhappy4 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕4 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫6 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生6 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.117 小时前
linux基础IO
linux·运维·服务器
BelongPanda9 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯9 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_777998349 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器
yunwei3710 小时前
eBPF 教程:检查 exec 后真正安装的可执行镜像
linux·开源
笑锝没心没肺10 小时前
yum update 报错:GPG key retrieval failed: [Errno 14] HTTPS Error 404 - Not Found
linux·运维·服务器