zoukankan      html  css  js  c++  java
  • 部署springboot项目到云服务器的两种方式(jar+war)


    原文链接:https://blog.csdn.net/weixin_39274753/article/details/81557501

    方式一、以jar文件运行

    添加maven依赖

    Spring Boot 默认以jar包方式运行,

    可以在Maven配置如下插件,将Spring Boot 导出成可执行的jar文件。

    <build>    
        <plugins>           
            <plugin>            
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>        
            </plugin>    
        </plugins>
    </build>  

    将项目打包

    在工程目录下的运行命令行中运行mvn package:

    >mvn package

    package会将Maven工程打包成一个可执行的jar文件存放在target目录下。

    将jar文件放到服务器

    打包好的jar文件已存放在target目录下

    将jar文件放到服务器合适的目录下(建议使用ftp软件直接上传至合适的目录)

    在服务器运行jar文件

    切换到jar文件所在目录,执行命令(前提是已在服务器装好jdk)

    java -jar yourProjectName.jar

    以上执行命令并不能让项目在服务器上不挂断的运行(我是用的CRT连接服务器,一旦与服务器断开,则项目就会关闭运行)

    若想实现不挂断运行,可使用以下命令:

    chmod +x XXXX.jar
    nohup java -jar XXXX.jar >/dev/null 2>&1 &

    具体的说明,可以参考这两篇博客:博客一博客二

    浏览器访问

    在浏览器输入地址访问

    注意和在本地电脑运行相比,只需将ip地址换成服务器的即可,端口号和路径名都是跟在本地电脑运行时一样的,即与yml配置文件一致:

    至此,项目部署完成。

    方式二、以war方式部署

    Spring Boot 默认自带了一个嵌入式的Tomcat服务器,可以以jar方式运行,更为常见的情况是需要将Spring Boot 应用打成一个war包,部署到Tomcat等服务器上。

    修改打包方式

    这种情况下,需要将pom中的packaging改成war方式:

    移除嵌入式tomcat插件

    这里提供2种方式(本文项目使用方式2)

    方式1、需要将嵌入的Tomcat依赖方式改成provided(编译、测试时将依赖的包加入本工程的classpath,运行时不加入,可以理解成运行时不使用Spring Boot 自带的Tomcat)

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

    方式2、在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码,

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!-- 移除嵌入式tomcat插件 -->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    添加servlet-api的依赖

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>

    修改启动类,并重写初始化方法

    打包

    操作步骤与jar方式的打包一致,打包完成后会在target目录下生成.war文件

    部署

    将war文件放到Tomcat的webapps目录下,启动Tomcat(在bin目录下执行./startup.sh),即可自动解压部署

    浏览器访问

    访问地址为:

    http://服务器ip:服务器里Tomcat配置的端口/项目名/接口路径

    *注意:项目名以Tomcat的webapps目录下解压后的文件夹名字为准

    由于不使用Spring Boot 自带的Tomcat所以yml文件下的server配置不起作用

    到此,项目部署完成

    总结

    1、jar包部署方式使用Spring Boot 自带的Tomcat,因为Spring Boot 应用自带Tomcat,所以可直接在服务器运行jar文件
    2、war包部署方式则使用云服务器里的Tomcat,此时需要移除Spring Boot 自带的Tomcat插件
    3、注意2种部署方式的访问路径差异
    4、注意所用端口号是否已在安全组开放
  • 相关阅读:
    Day12:前端代码的合并和登录过程的完善
    Day11:基本界面的完成
    Day10:界面的跳转
    Day9:尝试连接绑定数据与API
    Day8:转战前端开发
    Day7:熟悉搭建服务器工具及配置
    Day6:完成API的列举设计
    day14
    day13
    day13
  • 原文地址:https://www.cnblogs.com/churujianghudezai/p/12873318.html
Copyright © 2011-2022 走看看