Spring Boot部署方法

    网上搜到的部署方法无非是打成jar包,然后shell执行nohup java调用jar命令,或者是打成war包然后部署到tomcat或者jetty容器上面。

Spring Boot已经内置tomcat或者jetty,还需要部署单独的web容器实在是不方便,使用nohup命令配置又不灵活。官方提供了一种非常简

便的做法,将Spring Boot工程打包成‘fully executable’的jar包运行。具体做法如下:

  • 修改构建参数
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable> <!-- 新增配置 -->
</configuration>
</plugin>

- 打包
```shell
> mvn clean package
```
    上传打包完成的jar包到服务器。


- 设置init.d服务
    假定jar包放在linux服务器的/var/tutorial目录下,文件名为tutorial-0.0.1-SNAPSHOT.jar,需要生成一个指向/etc/init.d目录的软
链接。
```shell
> sudo ln -s /var/tutorial/tutorial-0.0.1-SNAPSHOT.jar /etc/init.d/tutorial
```


- 添加配置文件
    在/var/tutorial目录下设置与jar同名的conf文件,用于设置Java启动项目的运行参数,示例这里简单配下JVM的参数即可,其他参
数参考官方文档说明: [deployment-script-customization](https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment-script-customization-when-it-runs)。conf文件内容如下:
```shell
JAVA_OPTS="-Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError"
```
注:conf文件放在与jar包相同目录下,名字也必须相同,否则会读取不到配置,本例中应为/var/tutorial/tutorial-0.0.1-SNAPSHOT.conf。


- 启动项目
    直接使用init.d相关命令service start、stop、restart等。然后最好检查一下日志文件,示例默认是/var/log/tutorial.log,确认是否
有错误日志或者启动异常即可。
```shell
> service tutorial start
Started [12351]
```


- 其他
    本文只是一个最简单的示例,正式部署还需要考虑运行权限、开机启动以及配置参数自定义等其他需求,这些还请参考官方文档说
明: [deployment-install](https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment-install)

Spring Boot部署方法的更多相关文章

  1. spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获

    spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获 当你的某个控制器内的某个方法报错,基本上回显示出java错误代码,非常不友好,这 ...

  2. spring boot 部署为jar

    前言 一直在ide中敲代码,使用命令行mvn spring-boot:run或者gradlew bootRun来运行spring boot项目.想来放到prod上面也应该很简单.然而今天试了下,各种问 ...

  3. Spring Boot 部署与服务配置

    Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...

  4. 十六、Spring Boot 部署与服务配置

    spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...

  5. spring boot部署系统--morphling简介

    Morphling 简介 Morphling是一套基于Spring Boot 1.5开发的部署系统,依赖简单,一套Mysql即可运行,操作简单明了,适用于百台规模几下机器的运维操作 功能概述 系统部署 ...

  6. spring boot 部署

    指定运行的内存 java -Xms10m -Xmx200m -jar xxx.jar spring boot 打包成war包: 让 SpringbootApplication 类继承 SpringBo ...

  7. spring boot 部署 发布

    Spring Boot应用的打包和部署 字数639 阅读2308 评论0 喜欢5 现在的IT开发,DevOps渐渐获得技术管理人员支持.云计算从ECS转向Docker容器技术.微服务的概念和讨论也越来 ...

  8. 27. Spring Boot 部署与服务配置

    转自“https://www.cnblogs.com/zhchoutai/p/7127598.html” Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函 ...

  9. Spring Boot 部署浅析(jar or war)

    对于传统的 ssm 或者 ssh 项目的部署,一般会打包成war包,或者是一个编译好的文件夹,再放到 tomcat 的 webapps 目录下,如果是 war 包,会自动解压出来.而 Spring B ...

随机推荐

  1. .NET Core中JWT+Auth2.0实现SSO,附完整源码(.NET6)

    一.简介 单点登录(SingleSignOn,SSO) 指的是在多个应用系统中,只需登录一次,就可以访问其他相互信任的应用系统. JWT Json Web Token,这里不详细描述,简单说是一种认证 ...

  2. Java 线程创建与常用方法

    进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存.在指令运行过程中还需要用到磁盘.网络等设备.进程就是用来加载指令.管理内存.管理 IO ...

  3. 代码模板整理(0):先水一波a+b

    梦开始的地方 "Hello World!" #include<bits/stdc++.h> using namespace std; int main(){ cout& ...

  4. ElasticSearch7.3学习(三十一)----Logstash基础学习

    一.Logstash基本介绍 Logstash 是一个功能强大的工具,可与各种部署集成. 它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据(文件.数据库......).logstas ...

  5. 在jupyternotebook中写C/C++

    在jupyter notebook中写C/C++,最大的好处就是不用写main()函数,直接调用写好的函数即可执行. #include<stdio.h> int sum(int a,int ...

  6. python 连接SAP 代码

    def Main(): sap_app = r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe" subproces ...

  7. SAP 上传 函数 ALSM_EXCEL_TO_INTERNAL_TABLE 不稳定

    ALSM_EXCEL_TO_INTERNAL_TABLE 这个函数的使用率非常高,然而有时候,它非常的不稳定,有时没有填充excel数据. 1.建议用户在开始运行界面程序之前先关闭Outlook. 2 ...

  8. WPF开发随笔收录-自定义图标控件

    一.前言 1.在以前自学的过程中,软件需要使用到图标的时候,总是第一个想法是下载一个图片来充当图标使用,但实际得出来的效果会出现模糊的现象.后来网上学习了字体图标库的用法,可以在阿里云矢量图网站那里将 ...

  9. 监控pos收银机

    1.打开pos收银机snmp功能 控制面板-->程序和功能-->启用或关闭windows功能→简单网络管理协议(SNMP) 2.配置snmp服务 控制面板-->管理工具-->服 ...

  10. plain framework的实际应用和扩展

    首先在这里庆祝香港回归祖国的怀抱25周年,想起那年还是一个小学生戴着红领巾和胸章激动不已,实现祖国的统一是每个中华儿女从小的梦想!趁着这欢庆的日子,突然想要写些什么,其实最近也在做一些事,由于工作繁忙 ...