spring boot怎么部署到服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot怎么部署到服务器相关的知识,希望对你有一定的参考价值。

1. 既然需要打包成war包项目,首先需要在pom.xml文件中修改打包类型,将spring boot默认的<packaging>jar</packaging>修改为<packaging>war</packaging>形式;
2. 其次spring boot的web项目中内嵌tomcat服务器,所以如果我们想要发布war包到tomcat项目,要讲spring boot中内嵌的tomcat包依赖排除,不然产生冲突,打开下面代码中的注释即可。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--
<exclusions>
<exclusion>
参考技术A

Spring Boot 的可执行 jars 是为大多数流行的云 PaaS(平台即服务)提供商准备的。这些提供商往往要求您“自带容器”。他们管理应用程序进程(不是专门的 Java 应用程序),因此他们需要一个中间层,使您的应用程序适应云中正在运行的进程的概念。

两个流行的云提供商 Heroku 和 Cloud Foundry 采用“构建包”方法。buildpack 将您部署的代码包装在启动应用程序所需的任何内容中。它可能是 JDK 和java对嵌入式 Web 服务器或成熟的应用程序服务器的调用。buildpack 是可插入的,但理想情况下,您应该能够对其进行尽可能少的自定义。这减少了不受您控制的功能的占用空间。它最大限度地减少了开发和生产环境之间的差异。

理想情况下,您的应用程序,就像一个 Spring Boot 可执行 jar,将运行所需的一切都打包在其中。

nginx 部署多个 spring-boot jar 方式项目

springboot项目部署到服务器常见的方式就是打成war包部署Tomcat或者打成jar包直接使用内置容易运行,很多人现在都打成war包部署到tomcat,这种方式虽然没问题  但是后期维护比较麻烦。从官方的说明中 打成jar部署是最好的方式,但是这样又有个问题 如果同时部署多个spring-boot项目 端口不一样  怎么通过域名来访问呢,接下来就需要Nginx出手了,Nginx 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。很适合部署springboot,Nginx的安装这里不在做教程  给出主要nginx.conf的配置:

server 
    listen       80;
    server_name  127.0.0.1;
    access_log logs/book.log;
    error_log logs/book.error;
 
    #将/wx-service请求转发给http://127.0.0.1:8011/wx-service处理
    location /wx-service 
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8011/wx-service;
    
 
    #将/bootdo请求转发给http://127.0.0.1:8012/bootdo处理
    location /bootdo 
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8012/bootdo;
    
 
    #将/xcloud-service请求转发给http://127.0.0.1:8013/xcloud-api处理
    location /xcloud-service 
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8013/xcloud-api;
    
 
    #将/eureka-service请求转发给http://127.0.0.1:8081/eureka-service处理
    location /eureka-service 
        proxy_pass http://127.0.0.1:8081/eureka-service; #这里的端口记得改成项目对应的哦
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
    
 
    #将/xcloud-api请求转发给http://127.0.0.1:8082/xcloud-api处理
    location /xcloud-api 
        proxy_pass http://127.0.0.1:8082/xcloud-api; #这里的端口记得改成项目对应的哦
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
    

 localtion /xxx 这块就是配置nginx端口转发部署几个项目就配置几个,也可以将tomcat中的项目配置在这。

以上是关于spring boot怎么部署到服务器的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot项目打包的jar包怎么部署到linux上,并运行啊!

Spring Boot框架开发Web项目 Spring Boot项目的打包和部署

Spring Boot框架开发Web项目 Spring Boot项目的打包和部署

nginx 部署多个 spring-boot jar 方式项目

部署spring boot到tomcat服务器上

Spring Boot 如何部署到 Linux 中的服务