Springboot打包部署到linux服务器的方法

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot打包部署到linux服务器的方法相关的知识,希望对你有一定的参考价值。

springboot打包部署到linux服务器的方法

1.由于springboot集成了tomcat,所以打包的时候不再使用war,而是使用jar
.xml文件

<groupId>包名</groupId> 
 <artifactId>打包的名字</artifactId> 
 <version>0.0.1-SNAPSHOT(版本)</version> 
<packaging>jar(包类型)</packaging> 

2.将springboot主启动类添加继承SpringBootServletInitializer,并且重写configure()方法

public class JspApplication extends SpringBootServletInitializer 
 public static void main(String[] args)  
  SpringApplication.run(JspApplication .class, args); 
  
 @Override//为了打包springboot项目 
 protected SpringApplicationBuilder configure( 
   SpringApplicationBuilder builder)  
  return builder.sources(this.getClass()); 
  
 

3.Maven package 打包

打包成功:

4.target 目录有 jar 文件:mybootjar.jar。

5.将项目中的target文件夹下的jar包复制出来即是您要的包

6.将jar包放到linux的任意文件夹(可访问)下
输入 java -jar 文件名.jar

这样有一个问题就是当你终端关闭后,就不能访问了,或者说隔一段时间后就不能访问了

如何解决这个问题呢 ?使用nohup
7.进入该文件夹目录,执行命令 nohup java -jar 包名.jar & 使用nohup不挂机启动,然后便可以访问页面了。

  1. nohup的意思不挂服务,常驻的意思,除非云服务器重启,那就没法了;
  2. 最后一个&表示执行命令后要生成日志文件nohup.out=

出现:nohup: ignoring input and appending output to ‘nohup.out’
正常情况,显目启动成功

检测:最后在浏览器地址栏输入项目地址,检查项目是否部署成功

8.如果要关闭服务可以直接查询到服务的进程号,然后kill.
#ps -ef | grep "被查询的服务名(包名xx.jar)" 查询服务进程号命令

kill 命令用于删除执行中的程序或工作:

kill [-s <信息名称或编号>][程序] 
kill [-l <信息编号>]

参数说明:

  • -l <信息编号> :若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
  • -s <信息名称或编号> :指定要送出的信息。
  • [程序] :可以是程序的PID或是PGID,也可以是工作编号

使用 kill -l 命令列出所有可用信号。
最常用的信号是:

  • 1 (HUP):重新加载进程。
  • 9 (KILL):杀死一个进程。
  • 15 (TERM):正常停止一个进程。

彻底杀死进程:# kill -9 123456
杀死指定用户所有进程

#kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程
#kill -u hnlinux //方法二

ps: linux 的 kill 命令是向进程发送信号,kill 不是杀死的意思,-9 表示无条件退出,但由进程自行决定是否退出,这就是为什么 kill -9 终止不了系统进程和守护进程的原因。

常用端口介绍:

端口:21
服务:FTP服务器所开放的端口,用于上传、下载。

端口: 22
服务:ssh

端口: 80
服务:HTTP 用于网页浏览

端口:389
服务:LDAP ILS 轻型目录访问协议和NetMeetingInternet Locator Server

端口:443
服务:网页浏览端口 能提供加密和通过安全端口传输的另一种HTTP

端口:8080
服务:代理端口

以上是关于Springboot打包部署到linux服务器的方法的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot maven项目打jar包并部署到 linux/windows服务

Linux下部署springboot项目的步骤及过程

SpringBoot+Vue项目部署到Linux服务器

springboot+vue项目部署到linux_arm64系统

如何将springboot项目打包成jar包并部署到服务器上

springboot+vue项目部署到linux_arm64系统