SpringBoot启动程序方式(服务器启动SpringBoot)

概述

使用SpringBoot框架的方便之处就不谈了,今天介绍下SpringBoot的几种启动方式和在生产环境应该如何启动。

一、通过IDE工具(开发阶段)

通过IDE工具(Eclipse、IDEA等)运行启动类的main方法(适合开发阶段使用),第一种方法应该是同学们最熟悉的方式了,启动起来也是最容易的,只要点击运行按钮就ok,不做详细介绍了,会Java的都懂。

@SpringBootApplication
public class HealthyApplication {
    public static void main(String[] args) {
        SpringApplication.run(HealthyApplication.class, args);
    }
}

二、通过程序jar包,命令行方式启动(*线上部署阶段)- 重点掌握

2.1 首先将程序使用IDE(Eclipse或IDEA),通过Maven命令(packageinstall)生成jar文件。

  • Eclipse生成jar方法:右键项目 -> Run as -> Maven install。即可在项目工作空间target文件夹下生成出对应的.jar文件。
  • IDEA生成jar方法:打开Maven视图区,点击package或install命令,即可在项目target文件夹下生成.jar文件,如图:

2.2 如果远程服务器部署应用,将jar文件上传至服务器,切换至jar所在目录。此处为本地测试,命令行切换到jar文件所在目录:> cd   jar所在文件目录(本文使用jar名称为healthy.jar

2.2.1 启动应用

使用命令java -jar healthy.jar 启动应用,启动效果如下:

java -jar 命令可以在启动时添加或修改任意的SpringBoo配置文件中的配置信息如:启动时修改启动端口号,使用:

java -jar healthy.jar --server.port=8888

2.2.2 关闭应用

关闭程序只要将当前窗口关闭就可以将应用停止。可在实际生产中,我们需要关闭窗口让程序继续运行,则上面的启动方式就需要修改。因为一般线上部署在Linux服务器,此处只以Linux服务器做启动关闭应用说明。

新启动方式:nohup java -jar healthy.jar &

nohup命令说明

nohup 命令忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。如果指定输出文件名称则在命令后添加 >./healthy.log

默认nohup仅把输出记录到文件中,如果要把错误和输出全部记录到文件中则在命令后添加 2>&1

终极命令: nohup java -jar xxxx.jar > ./xxxx.log 2>&1 &

返回的2889是程序运行的进程号。此时日志信息已经重定向到项目当前的healthy.log文件中了。因为程序是在后台运行,现在关闭所有窗口,也可以一样访问页面。

虽然启动程序可以关闭窗口了,可是关闭程序也带来了麻烦,现在关闭程序只能通过kill进程号来关闭

  • 先获取程序的进程号使用ps -ef | grep healthy.jar  图中返回的2889就是程序运行的进程号。

  • 再使用kill -9 2889来关闭程序。

以上就是SpringBoot在生产环境的启动和关闭程序,可是每次输入这么多命令太麻烦了,好一点的办法是新建一个启动(start.sh)和关闭(stop.sh)的脚本,每次执行两个脚本(./start.sh或./stop.sh)就可以了。可以参考以下两个脚本的写法(把healthy.jar换成自己的程序):

  • start.sh脚本中的内容为:
nohup java -jar healthy.jar >./healthy.log 2>&1 &
  • stop.sh脚本中的内容为:
#!/bin/bash
PID=$(ps -ef | grep healthy.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill $PID
fi

如果start.sh和stop.sh没有执行权限则使用:chmod 777 start.sh 这样start.sh就有了执行权限。./start.sh来执行文件。

这样我们项目启动后就类似这样的结构,如果修改了程序,只需要替换healthy.jar文件。执行或者关闭程序,则通过那两个执行脚本来完成,就方便多了。

三、使用Maven命令启动程序

  1. 首先需要切换到项目pox.xml所在的目录下;
  2. 执行mvn spring-boot:run即可。

此方法是通过Maven插件的方式启动SpringBoot程序,控制台会显示下载maven文件过程,启动后效果类似java -jar方式,因此不在演示,可自行实验。

四、总结

文章介绍了三种启动SpringBoot的方式,分别是IDE运行启动类main方法java命令maven命令

开发阶段推荐大家使用IDE直接启动程序就好;服务器部署程序使用java -jar命令,虽然麻烦一点,不过大家如果按步骤去操作,绝对也可以轻松实现和关闭程序的,觉得文章有帮助,点个赞试试吧。

(完)  

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值