一、首先说说在没有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. JAVA 多线程(4)

    接着3说: 一.String常量池 先回顾 java 的基本数据类型: 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配 ...

  2. django模型基础(三)

    本文转载自https://blog.csdn.net/xiaogeldx/article/details/88084034 表关系 一对一(OneToOne) 通过本表的主键外键关联另一张表的主键 创 ...

  3. 如何用ABP框架快速完成项目(11) - ABP只要加人即可马上加快项目进展- 全栈篇(2) - 不推荐模块组件化, 推荐微服务

    一个人写代码不需要担心会和别人的代码冲突, 不需要做代码合并, 不需要担心自己的代码被覆盖. 但是多个人一起写代码就需要担心这些问题.   解决这些问题的方法很多, 比如用AzureDevOps(TF ...

  4. MySQL 在Windows平台上的安装及实例多开

    MySQL在Windows平台上的安装及实例多开   by:授客 QQ:1033553122 测试环境 Win7 64 mysql-5.7.20-winx64.zip 下载地址: https://cd ...

  5. springboot部分常用注解

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  6. 在Windows服务中托管 ASP.NET Core的坑

    按照官网教程 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/windows-service?view=aspnetcore- ...

  7. Spark性能优化【Stack Overflow】

    一.异常情况 Stack Overflow 二.异常分析 之所以会产生Stack Overflow,原因是在Stack方法栈中方法的调用链条太长的原因导致的,一般情况有两种: 1.过于深度的递归[常见 ...

  8. SQL Server OPTION (OPTIMIZE FOR UNKNOWN) 测试总结

      关于SQL Server的查询提示OPTION (OPTIMIZE FOR UNKNOWN) ,它是解决参数嗅探的方法之一. 而且对应的SQL语句会缓存,不用每次都重编译.关键在于它的执行计划的准 ...

  9. ApplicationContext 配置里dataSource mysql连接数据源,设置ssl和utf-8

    ?useUnicode&useSSL=false

  10. AWS云使用100条宝贵经验分享

    在今天的文章中,我整理出了大量当初曾经错过.而至今仍将我追悔莫及的Amazon Web Services(简称AWS)使用心得.在几年来的实践当中,我通过在AWS之上新手构建及部署各类应用程序而积累到 ...