springboot项目的部署方式

一. SpringBoot内嵌容器的部署方式

SpringBoot内部默认提供内嵌的tomcat容器,所以可以直接打成jar包,丢到服务器上的任何一个目录,然后在当前目录下执行java -jar demo.jar即可运行,但是这种方式的运行退出进程就结束了。如果想在后台可以运行,则需要执行 java -jar demo.jar > log_demo.file 2>&1 & 即可在后台运行该服务了,log_demo.file是日志文件。如需停止该进程 执行ps -ef|grep java 找到对应的进程 kill 进程ID 即可

二. 使用外部的tomcat部署方式

  1. pom.xml文件,dependencies中添加
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 在pom.xml文件中,project下面packaging标签改为
<packaging>war</packaging>
  • 1
  • 2
  1. 将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法
@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这样,只需要以上3步就可以打包成war包,并且部署到tomcat中了。需要注意的是这样部署的request url需要在端口后加上项目的名字才能正常访问。spring-boot更加强大的一点就是:即便项目是以上配置,依然可以用内嵌的tomcat来调试,启动命令和以前没变,还是:mvn spring-boot:run。

如果需要在springboot中加上request前缀,需要在application.properties中添加server.contextPath=/prefix/即可。其中prefix为前缀名。这个前缀会在war包中失效,取而代之的是war包名称,如果war包名称和prefix相同的话,那么调试环境和正式部署环境就是一个request地址了。 
如果是application.yml 文件 则为

server:
  port: 8080
  context-path: /prefix
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当我们将SpringBoot项目部署到服务器上时,可能会遇到一些问题,例如端口冲突等。为了解决这些问题,我们需要对项目的属性进行一些配置。一种常见的部署方式是将项目打包成war包并放到Tomcat服务器下。为了实现这种部署方式,我们可以创建一个ServletInitializer.java文件,继承SpringBootServletInitializer类,并覆盖configure()方法,将启动类Application注册进去。这样,在外部Web应用服务器构建Web Application Context时,会将启动类添加进去。这样我们就可以通过war包的方式部署SpringBoot项目了。\[2\]另外,SpringBoot项目也可以以jar包的方式进行部署,这是SpringBoot的默认部署方式。无论是以jar包还是war包的方式部署,我们都需要根据具体情况进行相应的配置和操作。\[3\] #### 引用[.reference_title] - *1* [SpringBoot项目上线运维](https://blog.csdn.net/qq_43456605/article/details/127934719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Spring Boot(八):SpringBoot项目如何部署上线(两种方式 jar包和war包)](https://blog.csdn.net/qq_44813090/article/details/104827001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值