原创

Linux部署SpringBoot项目


一、项目打包

1.引入插件

pom.xml文件中的plugins标签内添加相关的Maven插件,并且在packaging标签内指定打包类型:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--打包类型-->    
<packaging>jar</packaging>

你还可以指定要执行的入口类,如果不指定的话,Spring自动查找含有main方法的类,当做可执行的类;指定方法:

1)如果你的pom是继承了spring-boot-starter-parent,添加以下配置:

<properties>
    <!-- The main class to start by executing java -jar -->
    <start-class>com.mycorp.starter.HelloWorldApplication</start-class>
</properties>

2)如果你的pom没有继承spring-boot-starter-parent,在引入的spring-boot-maven-plugin中增加相关指定配置:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.3.5.RELEASE</version>
    <configuration>
         <!--入口类-->    
        <mainClass>com.lee.blog.BlogWebApplication</mainClass>
          <!--打包类型-->    
        <layout>JAR</layout>
          <!--构建完整可执行程序,可以直接运行-->
         <executable>true</executable>
    </configuration>
    <executions>
        <execution>
          <goals>
            <goal>repackage</goal>
          </goals>
        </execution>
      </executions>
</plugin>

2.执行Maven打包命令生成jar

1)这里需要先确保计算机已经配置好了Maven环境变量,配置过程:

  • 在环境变量的系统变量中添加MAVEN_HOME的环境变量,内容输入你本地的Maven路径

  • 在系统变量的path变量中添加%MAVEN_HOME%\bin

  • DOS命令中执行 maven -v ,如果窗口输出内容为Maven详细版本号则表示配置成功。

2)执行Maven打包操作,推荐使用IDEA自带的Maven窗口来进行打包操作,当然你也可以进入cmd切换到项目根目录下执行mvn package -Dmaven.skip.test=true命令来进行打包,IDEA示例:

IDEA右侧工具栏找到Maven打开操作窗口(也可通过点击上方工具栏 View > Tool Window > Maven 来打开),在窗口中点击要打包的项目,点击Lifecycle,然后先双击clean执行清理指令;在控制台显示BUILD SUCCESS清理成功后,双击install执行打包:

img

img

至此,项目打包成功,在项目根目录的target文件夹中可以看到生成的项目jar包:

img

二、部署项目

1.将项目jar包上传至服务器

这里需要用到XshellXftp工具,没有去官网下载,官方提供支持个人使用的免费版本下载:

https://www.netsarang.com/zh/xshell/

打开Xftp,连接至服务器,上传打包好的项目jar包:

img

2.运行项目

打开Xshell,连接至服务器,执行以下命令启动项目:

nohup java -jar test.jar >temp.txt &

# nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
# java -jar 是运行jar包命令  test.jar为jar包名称 替换为你要运行的jar包
# >temp.txt 意思是日志输出到temp.txt文件,当用 nohup 命令执行作业时,如果没有设定输出文件则输出到nohup.out的文件中
# & 表示程序放入后台执行,配合nohup实现后台运行不挂断

执行命令后按ctrl+c即可切换回输出栏;

使用netstat命令查询指定端口项目运行情况:

netstat -nlp |grep :8443
# :后是你项目运行的端口号

img

至此项目部署成功,你可以到浏览器输入服务器ip+项目端口号进行访问;如果访问不到可以检查服务器相关端口是否开放。

补充

停止项目指令:

kill -9 pid
# pid为进程号,上面执行的netstat命令中可以看到
正文到此结束