使用腾讯云部署war包

目录

1、前期准备 

2、springboot打war包

3、部署war包

4、导入数据库

5、修改Tomcat启动端口

6、启动服务器

7、设置腾讯云服务器防火墙规则

8、从外部访问

9、总结

10、参考资料


1、前期准备 

项目地址为:Atlantide/毕业设计 - 码云 - 开源中国 (gitee.com)

release分支是用来打包的,pull拉下来可以直接打包。springboot打war包相关pom.xml,启动类配置可参考release分支

master分支是用来本地直接启动的。

购买并配置服务器

我买的服务器是windows 2012R的操作系统。

在服务器上装好相应的环境(jdk,mysql,tomcat) 注意:Tomcat如果是单独启动的话(即不是通过eclipse,Intel idea启动的话,要配置环境变量,不然会出现startup.bat启动闪退)

2、springboot打war包

可参考release分支

启动类新增方法

package com.springboot.erp;

import javafx.application.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@ServletComponentScan  //(打war用)
@SpringBootApplication
public class ErpApplication extends SpringBootServletInitializer {


    public static void main(String[] args) {
        SpringApplication.run(ErpApplication.class, args);
    }


    //(打war用)
    /**
     *新增此方法
     */
   @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(ErpApplication .class);
    }

}

pom.xml进行修改

  <!--打成war包-->
    <packaging>war</packaging>

    <properties>
        <java.version>1.8</java.version>
<!--        打war时不打test-->
        <skipTests>true</skipTests>
    </properties>


 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>

            <!-- 移除嵌入式tomcat插件(打war用) -->
            <exclusions>
                 <exclusion>
                     <groupId>org.springframework.boot</groupId>
                     <artifactId>spring-boot-starter-tomcat</artifactId>
                 </exclusion>
             </exclusions>

        </dependency>

        <!--指定本地tomcat版本(打war用)-->
        <dependency>
         <groupId>org.apache.tomcat</groupId>
         <artifactId>tomcat-servlet-api</artifactId>
         <version>9.0.12</version>
         <scope>provided</scope>
     </dependency>


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

先clean后package

打包好的war包是在项目的target目录下 

 3、部署war包

把war放到服务器上tomcat的webapps目录下,并改名为ROOT

之所以把war包改名为root是为了访问项目时不带项目名。当然也可以在conf server里面配置:<Context path="" docBase="xxx" reloadable="false" /> 但我试过没有用,只能用替换ROOT文件这种方法了。

遇到类似问题可参考: tomcat配置访问项目时不需要加项目名称_coolcoffee168的博客-CSDN博客_tomcat配置项目名称

4、导入数据库

使用Navicat工具直接执行一遍.sql文件就行了(我的数据库是mysql)

5、修改Tomcat启动端口

Tomcat默认启动端口是8080,可在conf server里面进行修改,我这里修改为8082

 注意:要区分application.yml application.properties里面配置的server.port和服务器上tomcat的启动端口,一个配置的是springboot框架自带的tomcat的启动端口,只是适用于本地启动的。另一个是服务器启动war包的端口。

6、启动服务器

 

7、设置腾讯云服务器防火墙规则

因为我在外部要通过8082这个端口去访问服务器上的项目,所以我要把8082这个端口暴露出去

8、从外部访问

 

演示地址:ERP系统

9、总结

这是我2020年做的毕业设计,当时是部署在阿里云ECS服务器上的,学生服务器99元/一年。因为正巧最近腾讯云服务器做活动打折,所以就买了腾讯云1年 40元的。之前怎么部署阿里云的已经有点忘了,搞了蛮久的,所以想写出来整理一下。碰到了各种问题,比如tomcat启动闪退,Navicat用不了,导入.sql文件报错等等。当然这些只是小问题。最棘手的问题是那个tomcat启动项目是默认带着访问名的,这个我搞了好久,最后不得已把war替换ROOT了。

10、参考资料

tomcat怎么修改端口-百度经验 (baidu.com)

Springboot 打包跳过Junit测试_YouluBank的博客-CSDN博客

tomcat配置访问项目时不需要加项目名称_coolcoffee168的博客-CSDN博客_tomcat配置项目名称

posted @ 2022-07-03 20:36  金斗潼关  阅读(176)  评论(0编辑  收藏  举报