堡垒机 Web CLI 部署教程

本文说明如何通过堡垒机进入目标服务器,并部署一个 Tomcat Webhook 服务。示例中的域名、服务器名、账号、WAR 包名均为通用占位名称,请按实际环境替换。

一、进入堡垒机

  1. 打开堡垒机 Web 终端地址:
arduino 复制代码
https://bastion.example.com/luna/
  1. 登录后,在左侧资产树中找到目标服务器,例如:
markdown 复制代码
业务服务器组
└── Web服务组
    └── app-web-server
  1. 右键目标服务器,选择:
sql 复制代码
Connect
  1. 在连接弹窗中选择:
objectivec 复制代码
系统用户:deploy-user
连接方式:Web CLI
  1. 点击 Confirm 进入 Web 终端。

注意:如果选择 SSH Client,可能会尝试拉起本地客户端;如果只想在浏览器里操作,选择 Web CLI

二、检查服务状态

进入服务器后,先确认 Tomcat 是否运行:

perl 复制代码
ps -ef | grep -E 'tomcat|catalina|java' | grep -v grep

检查 8080 端口是否监听:

perl 复制代码
ss -lntp | grep 8080

如果系统没有 ss,可以使用:

perl 复制代码
netstat -lntp | grep 8080

测试本机接口:

bash 复制代码
curl http://localhost:8080/sample-webhook/api/test

或:

bash 复制代码
curl http://localhost:8080/sample-webhook/api/testPipeline

三、停止 Tomcat

部署前建议先停止 Tomcat:

arduino 复制代码
sudo /opt/tomcat/bin/shutdown.sh

确认进程已退出:

perl 复制代码
ps -ef | grep -E 'tomcat|catalina|java' | grep -v grep

如果仍有残留进程,需要谨慎确认后再处理。

四、清理旧版本

进入 Tomcat 应用目录:

bash 复制代码
cd /opt/tomcat/webapps/

调整权限:

bash 复制代码
sudo chmod -R 755 /opt/tomcat/webapps/

删除旧的 WAR 包和解压目录:

bash 复制代码
sudo rm -f sample-webhook.war
sudo rm -rf sample-webhook

这里的 sample-webhook.warsample-webhook 请替换为实际应用名称。

五、上传或复制新 WAR 包

如果 WAR 包已经在临时目录,例如:

bash 复制代码
/tmp/sample-webhook.war

复制到 Tomcat webapps 目录:

bash 复制代码
sudo cp /tmp/sample-webhook.war /opt/tomcat/webapps/

确认文件存在:

bash 复制代码
ls -lh /opt/tomcat/webapps/sample-webhook.war

六、启动 Tomcat

启动 Tomcat:

ini 复制代码
sudo JAVA_HOME=$JAVA_HOME /opt/tomcat/bin/startup.sh

或:

bash 复制代码
sudo /opt/tomcat/bin/startup.sh

启动后等待几秒,再检查进程:

perl 复制代码
ps -ef | grep -E 'tomcat|catalina|java' | grep -v grep

检查端口:

perl 复制代码
ss -lntp | grep 8080

七、验证服务

本机验证:

bash 复制代码
curl http://localhost:8080/sample-webhook/api/testPipeline

如果有外部访问域名,可验证:

arduino 复制代码
curl https://web-service.example.com/sample-webhook/api/testPipeline

期望结果示例:

csharp 复制代码
HTTP 200
handled Pipeline event

如果返回连接失败,优先检查 Tomcat 是否启动、8080 是否监听、WAR 是否正确解压。

八、查看日志

查看实时日志:

bash 复制代码
cd /opt/tomcat/logs/
tail -f catalina.out

保存日志到文件:

bash 复制代码
tail -f catalina.out > /tmp/sample-log.txt

查看最近错误:

bash 复制代码
grep -Ei 'ERROR|Exception|SEVERE|failed' /opt/tomcat/logs/catalina.out | tail -50

九、常见问题

Tomcat 进程存在但 8080 不通:

perl 复制代码
ss -lntp | grep java

确认实际监听端口,并检查 /opt/tomcat/conf/server.xml

bash 复制代码
grep -n 'Connector|port=' /opt/tomcat/conf/server.xml

WAR 包没有解压:

bash 复制代码
ls -lh /opt/tomcat/webapps/

检查 Tomcat 日志是否有部署失败:

bash 复制代码
tail -100 /opt/tomcat/logs/catalina.out

外部域名访问失败:

bash 复制代码
curl http://localhost:8080/sample-webhook/api/testPipeline

如果本机正常但外部异常,重点检查 DNS、Nginx、网关、负载均衡或防火墙配置。

十、部署检查清单

css 复制代码
[ ] 已进入正确服务器
[ ] 已停止旧 Tomcat 进程
[ ] 已删除旧 WAR 和旧解压目录
[ ] 已复制新 WAR 到 /opt/tomcat/webapps/
[ ] 已启动 Tomcat
[ ] Tomcat 进程存在
[ ] 8080 端口已监听
[ ] 本机 curl 返回正常
[ ] 外部域名访问正常
[ ] catalina.out 无明显启动错误
相关推荐
xiyueyezibile1 小时前
“自迭代” Skill 的 team-pitfalls 的演进
前端·后端·ai编程
叫我少年1 小时前
C# StringBuilder 基础入门
后端
会写代码的建筑师1 小时前
C# 源生成器使用方法
后端·架构
用户638982245891 小时前
Poi-Tl根据word模板生成合并表头使用
后端
梨子同志1 小时前
Spring Framework
后端
梨子同志2 小时前
Spring Boot
后端
Fanta丶2 小时前
4.Activiti流程定义部署
后端
Yeats_Liao3 小时前
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
java·后端·架构