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

网友投稿 929 2022-11-11

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

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

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

springboot版本:2.0.3.RELEASE

云服务器:阿里云ECSCentOS 7.3 64位

IDE:IntelliJ IDEA

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

方式一、以jar文件运行

添加maven依赖

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

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

org.springframework.boot

spring-boot-maven-plugin

将项目打包

在工程目录下的运行命令行中运行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)

org.springframework.boot

spring-boot-starter-tomcat

provided

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

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-tomcat

添加servlet-api的依赖

javax.servlet

javax.servlet-api

3.1.0

provided

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

打包

操作步骤与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,此时需要移除SYmOhRcppring Boot 自带的Tomcat插件

3、注意2种部署方式的访问路径差异

4、注意所用端口号是否已在安全组开放

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:电力系统激励型需求响应+自适应多群体优化算法(Python实现)
下一篇:【LeetCode 06】203.移除链表元素
相关文章

 发表评论

暂时没有评论,来抢沙发吧~