美文网首页
SpringBoot学习总结之三 打包部署到云服务器

SpringBoot学习总结之三 打包部署到云服务器

作者: 大鹏的鹏 | 来源:发表于2019-10-22 10:04 被阅读0次

一、打包前准备

1、 打包前确认工程中指定的端口在服务器在未被占用。

application.properties文件

server.port=8090

确保该端口已经添加到你的阿里云安全组中。

2、 确保数据源连接参数正确,开发时若使用的是本地数据库,那在打包前将数据库连接参数修改为目标数据库
#datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://数据库所在主机ip:3306/数据库名?useSSL=true&characterEncoding=utf-8
spring.datasource.username = ***
spring.datasource.password = ***

一般分为两种;一种是打包成 jar 包直接执行,另一种是打包成 war 包放到 tomcat 服务器下。
springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。

二、通过jar包发布

1.运行打包任务
2.生成jar包

打包任务完成以后会生成target文件夹.


3.运行jar包

在自己的云服务器上面或者是本地服务器上面(必须要安装jdk环境)启动项目.

java -jar xxx.jar
4.通过浏览器访问

三、通过war包发布

1、修改默认打包方式,讲打包方式改为war
<project>
    <version>0.0.1-SNAPSHOT</version><!--打包时版本号-->
    <name>demo</name><!--打包时名称-->
    <description>Demo project for Spring Boot</description><!--打包时简介-->

    <!--在打包到生产环境Tomcat时指明打包方式-->
    <packaging>war</packaging>
</project>
2、排除springboot内置的tomcat的容器
<!--当打war包到tomcat时,自动排除内置的tomcat,避免二者产生冲突-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。
                相当于compile,但是打包阶段做了exclude操作-->
            <scope>provided</scope>
        </dependency>


3、继承SpringBootServletInitializer类,并重写config方法

全称:org.springframework.boot.web.servlet.support.SpringBootServletInitializer,官方文档也有详细介绍为什么要继承。

@SpringBootApplication
public class Application extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
4、端口,路径设置:
  • 我们在application.properties或者在application.yml中对tomcat配置的port和context-path对war文件是不起作用的,那个配置只对springboot内置的tomcat起作用。当我们把war部署到生产环境时,端口就是生产环境的端口,context-path就是war的文件名,或者自己在tomcat中配置的其他名字。
  • 为了防止应用上下文所导致的项目访问资源加载不到的问题,
    建议pom.xml文件中<build></build>标签下添加<finalName></finalName>标签:
<build>
        <!--打war包到生产环境时配置-->
        <finalName>photoSystem</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

SpringBoot项目部署到阿里云服务器全流程
使用springboot打war包,并部署到tomcat下
springboot打war包,部署到外部tomcat

相关文章

网友评论

      本文标题:SpringBoot学习总结之三 打包部署到云服务器

      本文链接:https://www.haomeiwen.com/subject/vynfvctx.html