springboot打成的jar包如何在Linux上持久运行
一、首先说说在没有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上持久运行的更多相关文章
- npm run dev 在Linux上持久运行
关于node.js应用程序如何持久运行,我在node.js服务端程序在Linux上持久运行用过. 这次主要是针对是一个vue.js应用程序. vue.js应用程序通常运行命令是npm run dev. ...
- node.js服务端程序在Linux上持久运行
如果要想在服务端部署node.js程序,让其持久化运行,就不能单单使用npm start命令运行,当然了,这样运行是毫无问题的,但是当关闭xshell窗口或者是关闭进程的时候(其实关闭xshell窗口 ...
- SpringBoot打成的jar包发布,shell关闭之后一直在服务器运行
1:可以编写shell脚本, 切换到执行的jar包目录,然后使用nohup 让改命令在服务器一直运行 #!/bin/bash cd /srv/ftp/public nohup java -jar l ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
- springboot 打成的jar包在ClassLoader().getResource方法读取文件为null
1.属性文件如下: 10001=错误 2.文件读取主要代码 // getResource方式 URL resourceURI = getClass().getClassLoader().getReso ...
- jar包部署在linux上后浏览器访问不到的问题
1.首先保证程序是正常运行的 2.linux的防火墙是否关闭 3.可能是iptables里面需要设置白名单 可编辑/etc/sysconfig/iptables文件加入应用端口的白名单 修改后执行sy ...
- 使用mybatis assembly插件打成tar包,在linux系统中运行服务
使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...
- 在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service
在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service 1.在 /etc/rc.d/init.d/ 目录下创建一个名字和服务名完全相同的 shell 脚本文件 joyup ...
- Maven将代码及依赖打成一个Jar包的方式
Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...
随机推荐
- 洛谷P3199 [HNOI2009]最小圈(01分数规划)
题意 题目链接 Sol 暴力01分数规划可过 标算应该是这个 #include<bits/stdc++.h> #define Pair pair<int, double> #d ...
- Android为TV端助力 计算每个目录剩余空间丶总空间以及SD卡剩余空间
ublic class MemorySpaceCheck { /** * 计算剩余空间 * @param path * @return */ public static String getAvail ...
- 性能优化7--App瘦身
1. 前言 如果你对App优化比较敏感,那么Apk安装包的大小就一定不会忽视.关于瘦身的原因,大概有以下几个方面: 对于用户来说,在功能差别不大的前提下,更小的Apk大小意味更少的流量消耗,也意味着更 ...
- 第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)
这一章,主要介绍了好多种计算方法.下面,写一点自己对于有些计算(手写计算过程)的见解. 1.原码.反码.补码 原码:相信大家都会写,符号位在前二进制数值在后,凑够位数即可. 反码:原码符号位不变,其他 ...
- tkinter——GUI设计实操
1.创建root: from tkinter import * root = Tk() root.title('GUI设计') # root.attributes("-alpha" ...
- katalon之web文件上传
参考:https://docs.katalon.com/katalon-studio/docs/webui-upload-file.html#example- 适用范围:tag=input, type ...
- [20190214]11g Query Result Cache RC Latches补充.txt
[20190214]11g Query Result Cache RC Latches补充.txt --//上午测试链接:http://blog.itpub.net/267265/viewspace- ...
- C#-委托(十七)
概述 委托(Delegate) 是存有对某个方法的引用的一种引用类型变量 委托特别用于实现事件和回调方法.所有的委托都派生自 System.Delegate 类 委托是一个类,么它就可以被定义在任何地 ...
- .svn文件夹特别大
一个项目通过svn管理,迭代开发一年之后,.svn目录达到20G或更大,对于SSD硬盘来说是非常占用空间的,经过我的尝试,可以使用tortoiseSVN自带的cleanup为文件夹瘦身. 操作方法: ...
- Python3 socket网络编程(一)
Socket的定义 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了建 ...