SpringBoot项目部署到Linux服务器并发布

本文采用创建可执行jar的方式启动SpringBoot项目。

第一步,配置maven插件

<packaging>jar</packaging> <!--打成jar包 -->
	<build>
        <!--打成jar包的名称-->
        <finalName>fireworks</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.5.RELEASE</version>
            </plugin>
            <plugin>
                <!--排除测试类对打包的干扰-->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
        </plugins>
    </build>

第二步:mvn package或mvn install

mvn package 和 mvn install的区别:
package将会编译代码,并打包,最终按照maven规定的packaging方式打包,最终输出到目标目录中。
install同样也会编译,并打包,但之后install还会将打好的包安装在本地仓库,供其他项目使用。

 执行mvn clean,移除之前的target目录
mvn clean
# 切换到项目路径下,执行mvn package指令
mvn package

# 或者使用下面这个,可以跳过测试,直接打包
mvn clean install -Dmaven.test.skip=true

最终jar包输出到D:\Java_Project\firework2.0\target\目录下。进入该目录,会发现存在两个文件:fireworks.jar(项目名称的包)和fireworks.jar.original。

fireworks.jar就是我们所说的可执行的jar,包含已编译的类和运行需要的所有jar依赖,如果你想看看里面有啥,可以通过如下命令:

// 查看里面有啥
$ jar tvf target/fireworks.jar

// 启动项目
$ java -jar fireworks.jar

第三步:将jar包上传至远程服务器

这里使用winSCP,无论使用哪种工具,只要能够将文件上传到远程服务器上就可以

第四步:在远程服务器上执行jar包

https://blog.csdn.net/LC_Liangchao/article/details/121907445

nohup java -jar fireworks-0.0.1-SNAPSHOT.jar & # 后台启动jar


## >/dev/null 2>&1 & 表示每日把日志打包,创建一个空的日志文件
nohup java -jar zycx-applet-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &

注:如果之前启动过项目,记得将原先那个进程关闭:

ps -ef|grep java     或者是用 ps aux
kill -9 pid

-9 表示强制关闭这个进程

拓展:开启远程调试的发布

我的文章

一些注意事项

开启项目端口号(防火墙firewall的使用)

示例: 我的项目端口号为10010
#打开10010端口号            --permanent表示永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=10010/tcp --permanent
#重新载入
firewall-cmd --reload
#查看所有打开的端口:
firewall-cmd --zone=public --list-ports

查看内存情况

free -m

查看运行情况

tail -f filename(日志名)
通过最新的日志是.out结尾


版权声明:本文为LC_Liangchao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。