目录

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配置项目名称

使用腾讯云部署war包的更多相关文章

  1. 如何在阿里云上部署war包到tomcat服务器

    一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...

  2. Hexo 博客 之 腾讯云部署过程

    写在前面 Hexo 博客搭好了有差不多两周时间了,这期间走了很多弯路,跳了很多坑.一些坑自己 bing 到了答案,找到了解决方法,一些坑则是自己摸索出来的解决方法.现在准备写几篇关于搭建流程.搭建过程 ...

  3. docker学习5-docker安装tomcat环境和部署war包

    前言 tomcat部署web项目非常方便,把war包放到webapps目录就可以了.本篇使用docker快速搭建一个tomcat环境 下载tomcat镜像 拉取官方最新版tomcat镜像 [root@ ...

  4. 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...

  5. tomcat本地部署war包的方式

    最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...

  6. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  7. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

  8. 持续集成之Jenkins自动部署war包到远程服务器

    一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...

  9. Jboss7或者wildfly部署war包的问题

    如果在Jboss7或者wildfly中部署war包是遇到类似如下错误: "{"JBAS014671: Failed services" => {"jbos ...

随机推荐

  1. mysql 判断 字段为空 的一个小误区(又忘了)

    今天判断mysql是否为空  直接写某字段 例  image_url !=null 结果数据库不报错误 并且没有返回相对数据. 又忘了这个事.今天特地记录一下. 因为null 表示什么也不是, 不能= ...

  2. MyBatis的各种查询功能

    1.查询一个实体类对象 /** * 根据用户id查询用户信息 * @param id * @return */ User getUserById(@Param("id") int ...

  3. 3.MongoDB系列之查询

    1. find简介 // 查询所有文档 db.users.find({}) // 查询指定条件文档 db.users.find({'name': 'shenjian'}) // 查询指定字段,1查询键 ...

  4. 在不受支持的 Mac 上安装 macOS Ventura、Monterey、Big Sur (OpenCore Legacy Patcher)

    请访问原文链接:https://sysin.org/blog/install-macos-13-on-unsupported-mac/,查看最新版.原创作品,转载请保留出处. 作者主页:www.sys ...

  5. 事件循环Event Loop

    在 事件循环 期间的某个时刻,运行时会从最先进入队列的消息开始处理队列中的消息.被处理的消息会被移出队列,并作为输入参数来调用与之关联的函数.正如前面所提到的,调用一个函数总是会为其创造一个新的栈帧. ...

  6. Sql Server性能排查和优化懒人攻略

    转载自作者zhang502219048的微信公众号[SQL数据库编程]:Sql Server性能排查和优化懒人攻略 很多年前,笔者那时刚从广东技术师范学院(现为广东技术师范大学,以前为广东民族学院)的 ...

  7. 线上Electron应用具备哪些特征?

    新用户购买<Electron + Vue 3 桌面应用开发>,加小册专属微信群,参与群抽奖,送<深入浅出Electron>.<Electron实战>作者签名版. 1 ...

  8. Vue3 企业级优雅实战 - 组件库框架 - 3 搭建组件库开发环境

    前文已经初始化了 workspace-root,从本文开始就需要依次搭建组件库.example.文档.cli.本文内容是搭建 组件库的开发环境. 1 packages 目录 前面在项目根目录下创建了 ...

  9. Swagger的介绍

    一.Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 二.Swagger 的优势? 支持 API 自动生成同步的在线 ...

  10. Python图像处理丨5种图像处理特效

    摘要:本篇文章主要讲解了图像常见的特效处理,从处理效果图.算法原理.代码实现三个步骤进行详细讲解,涉及图像素描特效.怀旧特效.光照特效.流年特效.图像滤镜等. 本文分享自华为云社区<[Pytho ...