目录

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. day48-JDBC和连接池04-2

    JDBC和连接池04-2 10.数据库连接池 10.5Apache-DBUtils 10.5.1resultSet问题 先分析一个问题 在之前的程序中,执行sql语句后返回的结果集存在如下问题: 关闭 ...

  2. 1.关于SPring Boot项目的创建

    一.引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  3. 基于tauri+vue3.x多开窗口|Tauri创建多窗体实践

    最近一种在捣鼓 Tauri 集成 Vue3 技术开发桌面端应用实践,tauri 实现创建多窗口,窗口之间通讯功能. 开始正文之前,先来了解下 tauri 结合 vue3.js 快速创建项目. taur ...

  4. 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。

    第一题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...

  5. NLP之基于Bi-LSTM和注意力机制的文本情感分类

    Bi-LSTM(Attention) @ 目录 Bi-LSTM(Attention) 1.理论 1.1 文本分类和预测(翻译) 1.2 注意力模型 1.2.1 Attention模型 1.2.2 Bi ...

  6. AgileBoot - 如何集成内置数据库H2和内置Redis

    本项目地址: github: https://github.com/valarchie/AgileBoot-Back-End gitee: https://gitee.com/valarchie/Ag ...

  7. Spring知识框架

  8. 六、dockerfile

    一.什么是镜像 镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加. 根据上 ...

  9. LVS综合实验

    LVS综合实验 1.环境准备 提前准备:Mysql8.0.30安装包.Mysql安装脚本.shopxo2.3.0安装包.DNS脚本 服务器 IP地址 作用 系统版本 Mysql-master 10.0 ...

  10. 1.docker的基本使用

    1.简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.容器是完 ...