Spring Boot应用的后台运行配置

酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式。在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式:

- 运行Spring Boot的应用主类

- 使用Maven的Spring Boot插件`mvn spring-boot:run`来运行

- 打成jar包后,使用`java -jar`运行

我们在开发的时候,通常会使用前两种,而在部署的时候往往会使用第三种。但是,我们在使用`java -jar`来运行的时候,并非后台运行。下面我们分别针对Windows和Linux/Unix两种环境,整理一下如何配置后台运行的方法。

Windows

Windows下比较简单,我们可以直接使用这款软件:`AlwaysUp`。如下图所示,简单、暴力、好用。

配置方式很简单,我们只需要把Spring Boot应用通过`mvn install`打成jar包,然后编写一个`java -jar yourapp.jar`的bat文件。再打开`AlwaysUp`,点击工具栏的第一个按钮,如下图所示,选择上面编写的bat文件,并填写服务名称。

完成了创建之后,在列表中可以看到我们配置的服务,通过右键选择`Start xxx`就能在后台将该应用启动起来了。

Linux/Unix

下面我们来说说服务器上该如何来配置。实际上,实现的方法有很多种,这里就列两种还比较好用的方式:

nohup

nohup 命令

用途:不挂断地运行命令。

语法:nohup Command Arg …

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &到命令的尾部。

我们只需要使用nohup java -jar yourapp.jar &命令,就能让yourapp.jar在后台运行了。但是,为了方便管理,我们还可以通过Shell来编写一些用于启动应用的脚本,比如:

关闭应用的脚本:stop.sh

启动应用的脚本:start.sh

整合了关闭和启动的脚本:run.sh,由于会先执行关闭应用,然后再启动应用,这样不会引起端口冲突等问题,适合在持续集成系统中进行反复调用。

系统服务

在Spring Boot的Maven插件中,还提供了构建完整可执行程序的功能,什么意思呢?就是说,我们可以不用java -jar,而是直接运行jar来执行程序。这样我们就可以方便的将其创建成系统服务在后台运行了。主要步骤如下:

1. 在pom.xml中添加Spring Boot的插件,并注意设置executable配置

2. 在完成上述配置后,使用mvn install进行打包,构建一个可执行的jar包

3. 创建软连接到/etc/init.d/目录下

4. 在完成软连接创建之后,我们就可以通过如下命令对yourapp.jar应用来控制启动、停止、重启操作了

原文发布于微信公众号 - 程序猿DD(didispace)

原文发表时间:2016-12-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯云安全的专栏

Resin安全配置小技巧

29040
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装CouchDB和Futon

Apache CouchDB,类似Redis,Cassandra和MongoDB,是一个NoSQL数据库。CouchDB将数据存储为JSON文档,这些文档本质上...

31110
来自专栏JavaEdge

SpringBoot统一异常处理BasicErrorController定义全局异常处理类:并用@ControllerAdvice注解自定义异常类,继承Exception(或RuntimeExcept

1.8K90
来自专栏Jerry的SAP技术分享

使用Eclipse进行PHP的服务器端调试

最近工作需要对PHP的服务器端代码进行远程调试,涉及到Eclipse里环境的设置。在网上找了很多资料,大多不全,或者缺少配图,于是把自己做的过程中遇到的问题记录...

14020
来自专栏晓晨的专栏

Gogs搭建教程-极易搭建的自助 Git 服务

45430
来自专栏用户2442861的专栏

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

15310
来自专栏纯洁的微笑

springboot(十六):使用Jenkins部署Spring Boot

jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤; 第一步,jen...

72270
来自专栏青玉伏案

JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术

在上篇博客中,我们聊了《JavaEE开发之SpringMVC中的自定义拦截器及异常处理》。本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js、...

24960
来自专栏图像识别与深度学习

2018-09-11Ubuntu arduino使用makeblock library

在Downloads下找到Makeblock-Libraries-master剪切到/usr/share/arduino/libraries下,

17740
来自专栏Gaussic

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 顶

注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

11730

扫码关注云+社区

领取腾讯云代金券