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

2019-10-22  本文已影响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、端口,路径设置:
<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

上一篇 下一篇

猜你喜欢

热点阅读