在linux上部署springboot服务

linux: centos 7
连接工具:MobaXterm
操作示范:B站链接

下载jdk并且解压jdk

cd /home/myapp/
//下载jdk
wget https://javadl.oracle.com/webapps/download/AutoDL?BundleId=248746_8c876547113c4e4aab3c868e9e0ec572 -O jdk-8u381-linux-x64.tar.gz
//解压
tar -zxvf jdk-8u381-linux-x64.tar.gz

定义 action.sh 脚本 参考 网址

#!/bin/bash

#author:wting(bug fixed version by suhai)

JAVA_PATH=/home/server/jdk-8u381-linux-x64
#这里替换为程序位置  #注意:APP_NAME为jar文件名(而非路径),且"="后面不能有空格
#此处的APP_NAME为打包后jar包名
#注意:如果包名携带日期或其他会变化的内容,例如xxxx-1.0.0.20221110.release.jar,请修改此处的名称为xxxx这类固定且能标识服务的名称,同时替换start方法中的启动命令
APP_NAME=app-1.0.jar
#添加jar包路径,方便在任何目录下都可以运行脚本启动服务
APP_PATH=/home/server


#使用说明,用来提示输入参数
usage() {
   echo "Usage: sh x-pdf.sh [start|stop|restart|status]"
   exit 1
}

#检查程序是否在运行
is_exist(){
 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
 #如果不存在返回1,存在返回0     
 if [ -z "${pid}" ]; then
  return 1
 else
   return 0
 fi
}

#启动命令执行后输出结果
start_log(){
 is_exist
 if [ $? -eq 0 ]; then
   echo "${APP_NAME} 启动成功!  pid=${pid}"
 else
   echo "${APP_NAME} 启动失败!请检查后重试"
 fi
}

#启动方法
start(){
 is_exist
 if [ $? -eq 0 ]; then
   echo "${APP_NAME} is already running. pid=${pid}"
 else
   nohup "${JAVA_PATH}/bin/java" -jar -Xmx512m -Xms512m ${APP_PATH}/${APP_NAME} >${APP_PATH}/web.log >/dev/null 2>&1 &
   #如果APP_NAME携带可变内容,请替换下方启动命令,符号 * 表示jar包名称中变化的部分
   #nohup java -jar -Xmx512m -Xms512m ${APP_PATH}/${APP_NAME}*.jar >${APP_PATH}/web.log >/dev/null 2>&1 &
   start_log
 fi
}

#停止方法
stop(){
 is_exist
 if [ $? -eq "0" ]; then
   kill -9 $pid
   echo "${APP_NAME} 已关闭! pid=${pid}"
 else
   echo "${APP_NAME} is not running"
 fi
 
 #该脚本的特殊性:确保关闭所有openoffice进程
 soffice_stop
}

#输出运行状态
status(){
 is_exist
 if [ $? -eq "0" ]; then
   echo "${APP_NAME} is running. Pid is ${pid}"
 else
   echo "${APP_NAME} is not running."
 fi
}

#重启
restart(){
 stop
 echo "${APP_NAME} 准备重启..."
 sleep 5
 start
}

#关闭openoffice
soffice_stop(){
 soffice_pid=`ps -e|grep soffice.bin |awk '{print $1}'`
 if [ -n "${soffice_pid}" ]; then
   kill -9 $soffice_pid
   echo "已关闭soffice.bin"
 fi
}


#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
 "start")
   start
   ;;
 "stop")
   stop
   ;;
 "status")
   status
   ;;
 "restart")
   restart
   ;;
 *)
   usage
   ;;
esac


启动服务

sh action.sh start

开启端口

firewall-cmd --state
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

开启启动

vi /etc/rc.local
//添加下面代码
/home/myapp/action.sh start

//给rc.local 添加执行权限
chmod +x /etc/rc.d/rc.local
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jicg33

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

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

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

打赏作者

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

抵扣说明:

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

余额充值