Linux 下通过 XShell 手动更新 Tomcat 应用并重启

背景:

五六年前的时候,我在工作中发版项目,需要先打包,后部署到tomcat上,之后在linux中启动服务,当时记得命令是service xxx restart 启动。后来换几次工作都不需要自己来部署项目,或者是有自动化的部署工具,没用过原生的启动命令,最近接手的项目刚好又涉及到tomcat部署发版,但发现命令用的sh startup.sh,而不是记忆中的service xxx restart,所以搜了一下原因,整理一下

工具:

XShell

步骤:

  1. 上传文件

(Xftp操作)

  1. 返回根目录

cd /opt/apache-tomcat-9.0.90

  1. 停止服务

./bin/shutdown.sh

  1. 确认停止

ps -ef | grep tomcat

  1. 强制停止

kill -9 <PID>

  1. 启动服务

sh startup.sh

  1. 查看日志

tail -f logs/catalina.out

记忆中为什么有service xx restart

记忆中的 service xx restart 是 Linux 系统中用于重启指定服务的传统命令1, 2, 3。

它属于 SysVinit 服务管理体系,在现代主流的 Linux 发行版(如 CentOS 7+、Ubuntu 16.04+)中,虽然为了兼容性仍然可以使用,但已被 systemctl 命令取代2, 3。

新旧命令对比

特性 service xx restart(旧) systemctl restart xx(新)
所属体系 SysVinit2, 3 systemd2
当前状态 兼容模式,逐渐淘汰3 现代 Linux 标准命令2
功能 重启指定服务1, 2, 3 重启指定服务2, 7
适用系统 CentOS 6及更早版本2 CentOS 7+、Ubuntu 16.04+2
  1. 优先使用 systemctl

    在你当前的服务器环境中,建议直接使用 systemctl restart xx。它是 systemd 体系下的标准命令,功能更强大,与系统服务管理深度集成2。

  2. 虽然 service tomcat restartsystemctl restart tomcat 可以重启 Tomcat,但对于 Tomcat 应用更新,仍强烈建议优先使用其自带的 ./bin/shutdown.sh./bin/startup.sh 脚本

相关推荐
风月说与山鬼2 分钟前
二、React入口文件(main.jsx)
前端·react.js
东风破_5 小时前
Docker 基础:为什么需要容器?
前端·后端·nginx
东风破_5 小时前
Docker 实战:使用 Nginx 作为容器入口代理 Node 服务
前端·后端·nginx
你别说话了6 小时前
Vue项目解决跨域
前端·javascript·vue.js
唐青枫7 小时前
http-server:别再双击 index.html,一条命令把目录变成网站
前端·javascript
网安蟹佬霸7 小时前
OSINT开源情报收集实战:从信息搜集到资产测绘(2026最新万字保姆级指南)
前端·网络·安全·web安全·网络安全·开源
a1117767 小时前
3D历史建筑展览馆 THreeJS 开源
前端·开源
单线程_018 小时前
【源码阅读】Vue3 Tokenizer 词法分析器完整状态机流转深度梳理(3.4+ 新版架构)
前端
PBitW8 小时前
PM 丢来 3 个 Excel、12 个功能、4 种情形?用 TRAE Work 30 分钟整理成前端开发文档
前端·trae
风骏时光牛马10 小时前
AIAgent高可用架构:弹性容错与故障自愈的落地实践
前端