将JavaWeb项目war包部署到阿里云服务器

JavaWeb项目部署到阿里云服务器

服务器:阿里云服务器 + Ubuntu 18.04 64位Linux操作系统

集成环境:IntelliJ IDEA 2019.1

项目类型:SpringBoot 2.2.6


1. 把项目打包成war包

1.1 方法一

在使用IDEA创建SpringBoot项目时,选择打成war包:
Snipaste_2020-04-13_09-26-39

1.2 方法二

默认maven项目如果是打成jar包,这时需要一些修改使得项目能够打成war包。

(1)修改pom.xml文件中下面的两处

  • 修改pom.xml指定打包方式为 war 包:<packaging>war</packaging>。

  • 修改SpringBoot内置的Tomcat依赖,指定scope为provided(provided说明对编译和测试有效,但在运行时无效),因为我们想把war包放在外置的Tomcat中运行。

<groupId>com.example</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>test</name>
<description>Demo project for Spring Boot</description>

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

(2)编写一个SpringBootServletInitializer的子类,并调用configure方法
Snipaste_2020-04-13_09-51-58

  • 每个SpringBoot项目创建时都有一个application主类,我这里的名称为TestApplication。主类不需要修改。

  • 这里还需要自己另外创建一个继承SpringBootServletInitializer的子类,我这里的名字为ServletInitializer。

    package com.example.test;
    
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    
    public class ServletInitializer extends SpringBootServletInitializer {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(TestApplication.class);
        }
    }
    

(3)打包
Snipaste_2020-04-13_10-02-16

注意:最好不要使用网上的一些【Project Structure -> Artifacts -> Web Application:Archive】方法打成war包。

我也尝试过,虽然成功了,但是发现war包里的pom.xml文件并没有相应的修改,也就是没有屏蔽springboot自身的tomcat,导致项目启动后它默认走springboot自己的tomcat,然后出现无法访问controller层等问题。


2. 配置服务器的jdk和tomcat环境

(1)服务器配置jdk和Tomcat可以查看这个配置:https://www.cnblogs.com/smuzoey/p/11691412.html

(2)对于配置jdk和Tomcat需要从本地上传文件到服务器,可以看我的另一篇博客:https://blog.csdn.net/qq_42780289/article/details/105475069

(3)启动Tomcat默认访问的端口是8080,阿里云服务器默认没有配置,需要手动配置:
Snipaste_2020-04-13_10-19-14
Snipaste_2020-04-13_10-20-19
Snipaste_2020-04-13_10-25-27

3. JavaWeb项目部署

(1)将上面的war包上传到服务器,不知道怎么上传的可以参考:https://blog.csdn.net/qq_42780289/article/details/105475069

(2)将war包移动到Tomcat文件夹中webapps下面。

(3)如果Tomcat已经启动,那么war包会自动解压,我们就可以通过【服务器公网ip:8080/war包名称/访问的界面】来访问。如果Tomcat没有启动,需要进入Tomcat的bin目录,执行./startup.sh命令来启动Tomcat。

发布了108 篇原创文章 · 获赞 69 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_42780289/article/details/105483206
今日推荐