部署springboot项目到云服务器的两种方式(jar+war)

目录
  • 方式一、以jar文件运行
    • 添加maven依赖
    • 将项目打包
  • 将jar文件放到服务器
  • 在服务器运行jar文件
    • 浏览器访问
  • 2、以war方式部署
    • 修改打包方式
    • 移除嵌入式tomcat插件
  • 打包
  • 部署
  • 浏览器访问
  • 总结

springboot版本:2.0.3.RELEASE

云服务器:阿里云ECS CentOS 7.3 64位

IDE:IntelliJ IDEA

服务器远程连接工具:Xshell 5

方式一、以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

*推荐使用IDE中图形化界面的操作

(图中操作是跳过测试打包)

package会将Maven工程打包成一个可执行的jar文件存放在target目录下,在控制台中看到有如下输出则表示输出成功:

将jar文件放到服务器

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

将jar文件放到服务器合适的目录下

(本文使用直接鼠标拖拉的方式,也可根据需要使用rz命令、FileZilla工具等方式)

在服务器运行jar文件

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

java -jar yourProjectName.jar

浏览器访问

在浏览器输入地址访问

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

至此,项目部署完成

2、以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、注意所用端口号是否已在安全组开放

到此这篇关于部署springboot项目到云服务器的两种方式(jar+war)的文章就介绍到这了,更多相关springboot部署到云服务器 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot工程jar包部署到云服务器的方法

    首先,springboot在这里不多做介绍了,关于怎么打成jar包,我相信凡是用过的同学都知道吧! 然后就是将jar包上传到云服务器了,这个有好些工具的,博主在这里也不多做说明了! 咱们还是直奔主题吧.... 运行命令:java -jar xxx.jar,然后springboot工程的内置tomcat就开启了,项目已经启动,接下来你就可以访问了. 感觉一切ok,其实你已经掉到坑里了... 怎么回事呢? 当你关闭当前的xshell 命令界面时,再次访问就失效了,why? why? why? 这是因

  • 部署springboot项目到云服务器的两种方式(jar+war)

    目录 方式一.以jar文件运行 添加maven依赖 将项目打包 将jar文件放到服务器 在服务器运行jar文件 浏览器访问 2.以war方式部署 修改打包方式 移除嵌入式tomcat插件 打包 部署 浏览器访问 总结 springboot版本:2.0.3.RELEASE 云服务器:阿里云ECS CentOS 7.3 64位 IDE:IntelliJ IDEA 服务器远程连接工具:Xshell 5 方式一.以jar文件运行 添加maven依赖 Spring Boot 默认以jar包方式运行, 可以

  • pycharm部署django项目到云服务器的详细流程

    目录 前言 1-下载python3.8压缩包 2-解压缩安装包 3-安装依赖工具 4-安装python3.8 6-修改yum配置文件 7-配置python 8-检验配置结果 9-上传并部署Django项目 前言 大家想一想,如果要在一台电脑上运行python程序需要些什么工具呢? 显而易见,我们需要在电脑上安装python应用,配置python环境等等.那么如果我们需要在云服务器上运行python程序的话要怎么做呢?相信大家已经想到了,就是照葫芦画瓢,在云服务器上做相同的工作就好了. 1-下载p

  • Springboot之修改启动端口的两种方式(小结)

    Springboot启动的时候,端口的设定默认是8080,这肯定是不行的,我们需要自己定义端口,Springboot提供了两种方式,第一种,我们可以通过application.yml配置文件配置,第二种,可以通过代码里面指定,在开发中,建议使用修改application.yml的方式来修改端口. 代码地址 #通过yml配置文件的方式指定端口地址 https://gitee.com/yellowcong/springboot-demo/tree/master/springboot-demo2 #硬

  • 详解Springboot之接收json字符串的两种方式

    第一种方式.通过关键字段@RequestBody,标明这个对象接收json字符串.还有第二种方式,直接通过request来获取流.在spring中,推荐使用. 代码地址 https://gitee.com/yellowcong/springboot-demo/tree/master/springboot-json 项目结构 其实项目里面没啥类容,就是一个控制器和pom.xml配置 配置fastjson 添加fastjson的依赖到pom.xml中 <dependency> <groupI

  • SpringBoot EasyPoi动态导入导出的两种方式实现方法详解

    目录 前言 一.基于@Excel的 isColumnHidden 属性 1.1 实现原理 1.2 实现步骤 1.3 实现效果 二. 基于List< ExcelExportEntity > 的导出 实现效果 总结 前言 一开始为了图方便,使用的是土方法,即创建多个不同的实体类,每个实体类对应不同的列.这样虽说能实现,但实在不想多复制实体类,把代码堆的和shi山一样.于是查看官方文档,里面确实提供了更加优雅的实现方式.废话不多说,开整. 一.基于@Excel的 isColumnHidden 属性

  • Springboot+rabbitmq实现延时队列的两种方式

    什么是延时队列,延时队列应用于什么场景 延时队列顾名思义,即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费. 那么,为什么需要延迟消费呢?我们来看以下的场景 网上商城下订单后30分钟后没有完成支付,取消订单(如:淘宝.去哪儿网) 系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参会 系统中的业务失败之后,需要重试 这些场景都非常常见,我们可以思考,比如第二个需求,系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参会.那么一天之中肯定是会有很多个

  • pycharm打包py项目为.exe可执行文件的两种方式

    目录 一安装pyinstaller(两种方式) 二使用pyinstaller将py文件打包为exe(两种方式) 一安装pyinstaller(两种方式) 1.通过命令:pip install pyinstaller 具体操作:打开pycharm下方的Terminal终端,输入:pip install pyinstaller,回车 2.在pycharm设置里添加 英文版具体操作:Pycharm左上角 File 选择Settings - > Project Interpreter - > 点击图中

  • 详解在springboot中使用Mybatis Generator的两种方式

    介绍 Mybatis Generator(MBG)是Mybatis的一个代码生成工具.MBG解决了对数据库操作有最大影响的一些CRUD操作,很大程度上提升开发效率.如果需要联合查询仍然需要手写sql.相信很多人都听说过微服务,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地完成该任务.在一个微服务的开发过程中很可能只关注对单表的操作.所以MBG在开发过程中可以快速的生成代码提升开发效率. 本文将说到在springboot的项目中如何去配置(XML形式和Java配置类形式)和使用M

  • 详解Android提交数据到服务器的两种方式四种方法

    Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方式向服务器提交数据的方法. 代码比较简单,这里不去过多的阐述,直接看代码. /** * @author Dylan * 本类封装了Android中向web服务器提交数据的两种方式四种方法 */ public class SubmitDataByHttpClientAndOrdinaryWay { /** * 使用get请求以普通方式提交数据 * @param map 传

  • Intellij IDEA实现SpringBoot项目多端口启动的两种方法

    前言 有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同.这时我们强大的Intellij IDEA就能替我们实现. 实现方法 第一种方法 1.点击图中Edit Configurations,如图 2.取消选中的Single instance only 3.启动项目,demo(9000),如图. 4.修改配置文件中的端口号为9001,启动项目,demo(9001),如图. 从下方可以看到demo项目分别以9000和9001启动了

随机推荐