部署springboot项目到云服务器的两种方式分别是什么

部署springboot项目到云服务器的两种方式分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

    springboot版本:2.0.3.RELEASE

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

    IDE:IntelliJ IDEA

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

    方式一、以jar文件运行

    添加maven依赖

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

    部署springboot项目到云服务器的两种方式分别是什么

    可以在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中图形化界面的操作

    部署springboot项目到云服务器的两种方式分别是什么

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

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

    部署springboot项目到云服务器的两种方式分别是什么

    将jar文件放到服务器

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

    部署springboot项目到云服务器的两种方式分别是什么

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

    部署springboot项目到云服务器的两种方式分别是什么

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

    在服务器运行jar文件

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

    java -jar yourProjectName.jar

    部署springboot项目到云服务器的两种方式分别是什么

    浏览器访问

    在浏览器输入地址访问

    部署springboot项目到云服务器的两种方式分别是什么

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

    部署springboot项目到云服务器的两种方式分别是什么

    至此,项目部署完成

    2、以war方式部署

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

    修改打包方式

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

    部署springboot项目到云服务器的两种方式分别是什么

    移除嵌入式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>

    部署springboot项目到云服务器的两种方式分别是什么