部署脚本不会写? 抄作业~

这是一个用于自动化部署和管理Java应用程序的shell脚本,它能优雅地停止正在运行的服务,确保端口释放,并使用指定的环境变量、配置中心地址和其他参数启动应用。脚本包含了内存溢出处理、JVM参数设置以及日志记录等功能,简化了日常的运维操作。
摘要由CSDN通过智能技术生成
#!/bin/bash

source /etc/profile

ENV_NAME=dev
APP_NAME=服务名
APP_PORT=8888

# 内存 OOM快照 JMX GClog  可自行调节大小
JAVA_OPTS="-Xms256m -Xmx256m \
    -XX:+HeapDumpOnOutOfMemoryError \
    -XX:HeapDumpPath=heapdump.hprof \
    -XX:+PrintGCDateStamps \
    -XX:+PrintGCDetails \
    -Xloggc:gc.log"


# 应用名 端口 nacos配置中心 地址 profile 连不上配置中心不让启动
APP_ARGS="--spring.application.name=$APP_NAME \
    --server.port=$APP_PORT \
    --spring.profiles.active=$ENV_NAME \
    --spring.cloud.nacos.config.server-addr=nacos地址 \
    --spring.cloud.nacos.config.namespace=nacos namespace \
    --spring.cloud.nacos.config.username= nacos 用户名\
    --spring.cloud.nacos.config.password= nacos 密码\
    --spring.cloud.nacos.config.extension-configs[0].dataId=application.yml \  无继承可删除
    --spring.cloud.nacos.config.extension-configs[0].refresh=true \  无继承可删除
    --spring.cloud.nacos.config.extension-configs[1].dataId=$APP_NAME.yml \
    --spring.cloud.nacos.config.extension-configs[1].refresh=true \
    --spring.main.allow-bean-definition-overriding=true"
    
  
# 停服
PIDS=`ps -ef | grep java | grep $APP_NAME.jar |awk '{print $2}'`
if [ -n "$PIDS" ]; then
    echo "kill $PIDS"
    kill $PIDS
fi
  
sleep 10
  
PIDS=`ps -ef | grep java | grep $APP_NAME.jar |awk '{print $2}'`
if [ -n "$PIDS" ]; then
    echo "kill -9 $PIDS"
    kill -9 $PIDS
fi
 
# 开socket端口的应用 kill后 socket还会被占用一段时间 这里等端口释放
sleep 10
 
#启动
nohup java $JAVA_OPTS -jar $APP_NAME.jar $APP_ARGS  >/root/logs/$APP_NAME/nohup.log 2>&1 &

#java $JAVA_OPTS -jar $APP_NAME.jar $APP_ARGS

APP_NAME 通常为jar 包名

保存为 .sh文件  服务器上直接执行即可

仿照上图的例子,可解决80%以上的jar包部署流程~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

音阙斯听

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值