首页 > 其他分享 >[安装配置] SpringBoot项目部署

[安装配置] SpringBoot项目部署

时间:2022-09-06 18:23:08浏览次数:82  
标签:grep SpringBoot tpid 部署 jar helloworld echo 安装

打包SpringBoot项目

 

部署方式一:手动部署

1、将打包好的jar包上传到Linux服务器中

mkdir -p /opt/java62/app

2、前台启动SpringBoot应用

编译jar包:java -jar helloworld-1.0-SNAPSHOT.jar

使用浏览器进行访问:http://192.168.138.100/hello

缺点:启动SpringBoot项目后会占用一个窗口,一旦窗口关闭,则这个SpringBoot项目对应的进程就会被杀掉,外部就无法访问了

3、后台启动SpringBoot应用

3.1 利用nohup后台启动:nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &

nohup命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
语法格式: nohup Command [ Arg … ] [&]
参数说明:
​ Command:要执行的命令
​ Arg:一些参数,可以指定输出文件
​ &:让命令在后台运行
举例:
​ nohup java -jar boot工程.jar &> hello.log &
​ 上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件

3.2 监控日志:tail -f hello.log

3.3 浏览器访问:http://192.168.138.100/hello

关闭窗口后,因为是后台运行,所以不会停止springboot应用,依旧可以对外提供访问

部署方式二:自动部署

1、Linux克隆项目

进入到要克隆的目录路径下:cd /opt/java62

2、上传shell脚本

上传 shell 脚本到 /opt/java62 目录下(即与项目放在同一个目录中)

shell是linux中的一种开发语言,以sh为后缀名

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
# APP_NAME 项目的名称(===========需要修改===========)
APP_NAME=helloworld

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
# /opt/java62/helloworld 仓库名称 地址码云拉项目的文件夹(===========需要修改===========)
cd /opt/java62/helloworld

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo 启动项目
# jar包的名称(===========需要修改===========)
nohup java -jar helloworld-1.0-SNAPSHOT.jar  &> helloworld.log &
echo 项目启动完成
3、授权shell脚本

chmod 777 bootStart.sh 为所有的用户都授权 读写执行 的权限

第一个7:表示授予当前用户对文件权限
第二个7:表示授予当前用户同组内的用户对文件权限
第三个7:表示授予其他用户对文件权限

4、执行shell脚本

./bootStart.sh

自此本地更新代码,上传到git,服务器自动执行shell脚本,拉取代码,运行应用。

 

标签:grep,SpringBoot,tpid,部署,jar,helloworld,echo,安装
From: https://www.cnblogs.com/wanglufi/p/16662871.html

相关文章

  • docker-compose部署sonarqube
    docker-compose.ymlversion:'3.1'services:sonarqube:image:sonarqube:8.9.9-communitycontainer_name:sonarqubeports:-9000:9000vo......
  • [安装配置] Linux安装配置JDK
    第一步:上传压缩包jdk8.tar.gz第二步:解压压缩包tar-zxvfjdk8.tar.gz-C/usr/local第三步:配置环境变量打开环境变量配置文件vim/etc/profile在文件的最后加上以......
  • centos 7.X 安装python3.X 使得python3.X 和 python2.x共存
    https://www.cnblogs.com/JahanGu/p/7452527.html(以亲试)https://blog.csdn.net/eastlhu/article/details/74931913https://www.cnblogs.com/FZfangzheng/p/7588944.html......
  • appium安装apk包,返回package、activity
    fromappiumimportwebdriverdefget_app_info(apk):"""dinghanhua2022-09:paramapk_path:apk路径,不要包含中文:return:package,activity......
  • CentOS7 安装 python 3.7.4
     CentOS7安装python3.7.4 #安装环境(最小化安装)CentOSLinuxrelease7.0.1406(Core)#下载安装包https://www.python.org/ftp/python/3.7.4/Python-3.7.4.......
  • 实验环境安装配置
    实验环境安装配置一、实验目的熟悉实验环境熟悉Linux基本操作二、实验要求(一)任务请根据实验环境安装文档,完成特定开源软件的安装(二)实验报告请用Markdown排版,提......
  • 微服务系列之网关(一) kong及管理界面konga的安装部署
    1.网关概述微服务架构系统少则十几,多则成百上千个服务组成,除了少部分内部基础服务之外,大部分都是客户端调用,在没有网关之前,客户端需要把所用到的服务,都配置到一个配置......
  • zookeeper 部署及操作
    单机版安装上传安装包到服务器上解压tar-zxvfzookeeper-3.4.5.tar.gz 将解压后的文件移动到/usr/local/下mvzookeeper-3.4.5/usr/local/zookeeper 修改......
  • 安装PowerCLI
    1.使用powershell直接安装Install-ModuleVMware.PowerCLI-ScopeCurrentUser2.下载安装包后解压,将模块复制到powershell的模块目录1在官网下载ZIP包:https://devel......
  • debian 安装 ttyd
    方式一:编译源码方式安装参考文档 libwebsockets(onubuntu)-tryingcompileexample"lwsminimalwsserver+permessage-deflateecho"-can'tfindlibwebsocke......