一、首先说说在没有springboot的时候,项目是如何部署的?

1.动态web项目

动态web项目部署很方便,基本上上传文件到服务器的tomcat里面的webapps文件夹下即可完成部署。
当然了,这种做法的弊端是,如果是通过winscp来传输对于网速方面要求严格,不然的话网速一卡,很久传不过去,很耽误时间的,当然了,我一个同学他们公司用的就是动态web项目,部署的方式也正是采用这种方式,据说是公司制度定下的。原因我就没有细问过他。

当然了,有人会说,那我上传到服务器之前将其压缩成一个zip包,然后在Linux通过unzip命令解压。这种方式我以前也这么干过。
当我后来发现将动态web项目导出war包,直接通过winscp上传到tomcat对应的目录下,在当前目录就会产生一个文件夹,该文件夹主要是web相关的资源,还有就是java产生的编译文件class等。

由此可以推出动态web项目常规部署方式有这么几种?
a.直接上传到tomcat对应的目录下;
b.先打成zip包然后再传输到tomcat对应的目录下;
c.本地导出war包,然后在传输到tomcat对应的目录下;

其实a和b是一样的,c则是利用Eclipse的导出war功能来实现的。

2.maven项目

maven项目的部署以war项目为例,直接通过mvn install 或者mvn clean package直接打包上传到服务器上,就即可完成部署。
当然了,还可以通过写一个脚本利用git clone的特性加上maven,也可以完成快速部署

来个小结:
现在使用动态web项目都是一些老公司维护一些老的项目,总而言之,现在大部分都在用mavne,当然,也不排除有一部分用grandle或ant等。
其实发现用maven以后除了有些时候导入依赖(依赖之间因版本冲突问题,为此我感到烦之外,其它都还好)。

说完这两种项目部署后,下面我再说springboot打包成jar,如何在Linux上持久运行。

二、springboot打成的jar如何在Linux上持久运行

首先呢?你本地要有一个springboot的项目,如果没有可以参考我的这篇博客写一个,springboot入门程序

然后呢?你要有一个虚拟机搭建一个Linux服务器或者是远程服务器(阿里云或者腾讯云、百度云、美团云等)。

再然后,你还要有一个winscp,winscp官网地址为:https://winscp.net/eng/docs/lang:chs(你可以去官网下载)

最后将springboot打包(确保本地运行没有问题),利用winscp上传到Linux上。

通过该命令运行jar包:

nohup java -jar blog.jar > system.log >& &

下面我们对这条命令进行分析

nohub一般形式为如下:

nohub command &

但是当你退出账户时,仍然会停止对应的进程。

所以这就需要你在后面添加 2>&1 &(相当于正常退出,仍保持命令在后台运行)

上面这个command正好对上java -jar blog.jar > system.log

“>” 输出重定向,通常用于输出日志

本文主要参考该地址:https://www.cnblogs.com/createhappy/p/9375874.html

springboot打成的jar包如何在Linux上持久运行的更多相关文章

  1. npm run dev 在Linux上持久运行

    关于node.js应用程序如何持久运行,我在node.js服务端程序在Linux上持久运行用过. 这次主要是针对是一个vue.js应用程序. vue.js应用程序通常运行命令是npm run dev. ...

  2. node.js服务端程序在Linux上持久运行

    如果要想在服务端部署node.js程序,让其持久化运行,就不能单单使用npm start命令运行,当然了,这样运行是毫无问题的,但是当关闭xshell窗口或者是关闭进程的时候(其实关闭xshell窗口 ...

  3. SpringBoot打成的jar包发布,shell关闭之后一直在服务器运行

    1:可以编写shell脚本, 切换到执行的jar包目录,然后使用nohup  让改命令在服务器一直运行 #!/bin/bash cd /srv/ftp/public nohup java -jar l ...

  4. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

  5. springboot 打成的jar包在ClassLoader().getResource方法读取文件为null

    1.属性文件如下: 10001=错误 2.文件读取主要代码 // getResource方式 URL resourceURI = getClass().getClassLoader().getReso ...

  6. jar包部署在linux上后浏览器访问不到的问题

    1.首先保证程序是正常运行的 2.linux的防火墙是否关闭 3.可能是iptables里面需要设置白名单 可编辑/etc/sysconfig/iptables文件加入应用端口的白名单 修改后执行sy ...

  7. 使用mybatis assembly插件打成tar包,在linux系统中运行服务

    使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...

  8. 在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service

    在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service 1.在 /etc/rc.d/init.d/ 目录下创建一个名字和服务名完全相同的 shell 脚本文件 joyup ...

  9. Maven将代码及依赖打成一个Jar包的方式

    Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...

随机推荐

  1. javascript对象与方法

    对象与方法 一.数组(Array) 1.使用new关键字创建数组 var box = new Array();                                     //创建了一个数 ...

  2. vue从入门到进阶:组件Component详解(六)

    一.什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功 ...

  3. Android为TV端助力 转载弩的博客

    Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解析 ...

  4. The value of ESP was not properly saved across a function call 快速解决

    The value of ESP was not properly...快速解决 今天遇到这个问题,真的是非常头疼,期间电脑居然崩掉一次.所以,分享一下解决办法. 如果是:类定义的时候,新添加了属性, ...

  5. 电脑端支付宝支付 -前端获取支付宝返回的form 以及submit 调用支付扫码页面

    前端调取支付宝支付接口(后台进行封装,没有直接调取支付宝接口),调用返回的数据中,将会有一串的form表单数据返回,我们需要将此表单在当前调用页面submit下,以跳转到支付扫码页: 支付宝返回的fo ...

  6. TTS 文字转语音 ekho

    1.源码下载 使用svn客户端,执行如下命令下载 svn co https://svn.code.sf.net/p/e-guidedog/code/ 2.官方网站查看说明 http://www.egu ...

  7. spring-AOP(面向切面编程)-xml方式配置

    AOP是针对面向对象编程的一种补充,有时使用面向对象不能很好完成一些额外的功能业务时,可以采用AOP来进行补充. AOP术语: 切面(Aspect) 切面是用于编写切面逻辑的一个类,这个类很类似于JD ...

  8. C#计算时间差 TimeSpan

    TimeSpan的相关属性 Add:与另一个TimeSpan值相加. Days:返回用天数计算的TimeSpan值. Duration:获取TimeSpan的绝对值. Hours:返回用小时计算的Ti ...

  9. Linux内存描述之概述--Linux内存管理(一)

    1 前景回顾 1.1 UMA和NUMA两种模型 共享存储型多处理机有两种模型 均匀存储器存取(Uniform-Memory-Access,简称UMA)模型 将可用内存以连续方式组织起来, 非均匀存储器 ...

  10. c指针类型的作用

    指针类型的作用 任何类型的指针占用的空间大小都是相同的(32位CPU是4字节:64位CPU是8字节) 既然任何类型的指针占用的空间大小都是相同的,为什么指针还需要类型呢?指针只是指向了一个内存地址,但 ...